Skip to main content

Full text of "CBM 8-Bit Magazine Index: Compute's Gazette Special Section"

See other formats


WINDOWS 3.1 vs. 0S/2-BATTLE OF THE TITANS 


LOW-COST LASERS! 
10 TOP PRINTERS TESTED 


WORTH THE WAIT? 
POWER CHIPS: PAST, 

PRESENT, AND FUTURE 
COMPARED 


HACKERSPEAK 
START YOUR OWN BBS 
VIRTUAL REALITY 


1 


U.S. $2,95 


1 | 93 


ty) 
ll 


Overe 


3 


64/128 VIEW 


This month, I'll introduce readers to 
the editorial staff members 
who edit the pages of Gazette. 


Tom Netsel 


his month, readers who 
subscribe to Gazette 
and Amiga Resource 
will have a chance to 
meet the editors who pro- 
duce those sections 
As editor of Gazette, I’m 
lucky enough to have the 
help of technical editor 
Bruce Bowden. Bruce an- 


swers many of the questions 
that appear in Gazette's 
“Feedback” column, and he 
serves on the committee 
that selects type-in pro- 
grams. Bruce describes his 


ul to “the greatest 8-bit 
computers ever built.” 

I'm the other Gazette 
staff member. | joined COM- 
PUTE's features department 
in 1987, coming from a 
mixed background of elec- 
tronics, photography, and 
ournalism. The first stems 
from an interest in amateur 
radio that led to electronics 
training in the U.S. Navy fol- 
lowed by a stint at Cape Ca- 
naveral during the Apollo/ 
Saturn V days 

From the Cape, | moved 


Gazette's editorial staff consists of edi 


technical editor Bruce Bowden 


journey from a math and 
physics background to com- 
puting as “a natural exten- 
sion of an abiding interest in 
formal systems.” 

Bruce bought his first 64 
in 1984 and began making 
his mark writing unique share- 
ware programs—probably 
the best known of which is 
Graphic Assault System, a 
graphic utility. 

He joined the COMPUTE 
staff in July 1990 and di- 
vides his time between Ga- 
zette and other technical 
and online service duties 
(He is known as Sourceror 
on QuantumLink.) Though 
the IBM is his principle tool 
these days, he remains faith- 


Tom Netsel (left) and 


to New York to study photog- 
raphy. That field eventually 
led me back to central Flori- 
da as a photojournalist 

In the early 1980s, | grav- 
itated from the newspaper's 
darkroom to its newsroom, 
trading my Nikon for a word 
processor. A short time lat- 
er, | picked up a degree in 
journalism and a computer. 

A professor at the Univer- 
sity of Central Florida in 
Orlando recommended a 
new model called the Com- 
modore 64. | tried it, liked it, 
and bought it. Commercial 
software for it was scarce 
then, but | found COM- 
PUTE!'s Gazette and began 
typing in programs. a 


GAZETTE 


64/128 VIEW G-1 
Meet the Gazette editorial staff. By Tom Netsel. 
WORD PROCESSING WITHOUT GEOS G-2 
Should you use a conventional word processor 
instead of geoWrite? By Dorothy Hemme. 

REVIEWS G-8 
GeoWizard, geoVideo, and SID Master. 
COMMODORE CLIPS 6-13 
New products for the 64/128. 

WORLD VIEW G-14 
The Commodore scene in Germany. By Anders 
Reutersward. 

FEEDBACK G-16 
Questions and comments from our readers. 
BEGINNER BASIC G-18 


Take a look at some of the unique keys found only on 
64 and 128 keyboards. By Larry Cotton. 


MACHINE LANGUAGE G-20 


Use a fake BASIC program to read a disk directory. 
By Jim Butterfield. 


D’IVERSIONS G-21 
Is life itself just a subroutine? By Fred D'Ignazio. 
GEOS G-22 
New tools are available on Dweezil Disks for 
geoPaint artists. By Steve Vander Ark. 
PROGRAMMER’S PAGE G-24 
Try these wonderful sounds. By Randy Thompson. 
PROGRAMS 

SpeedSpeller 128 G-25 
La BASIC G-29 
SpeedSpell G-31 
Dynamic Memory G-35 
Scan 64 G-36 
Mindboggle G-37 


OCTOBER 1992 COMPUTE 


GA 


| 
| 
Lt 


| 
| 


RET 


Can a GEOS fan find happiness = 


using a non-GEOS 


a 


word processor? Try one of 
these and see. 


WORD 
PROCESSING WITHOUT 
GEOS 


BY DOROTHY HEMME 


EOS is wonderful, and | love 

geoWrite. I'm attracted to this 

graphics environment by its vari- 
ous fonts and type sizes, its pull-down 
menus, and its allowing the user to 
point and click on icons. 

With all of geoWrite’s printing op- 
tions, | can tailor my writing to fit my au- 
dience, Whenever | write letters to fam- 
ily members, its crazy fonts help me 
express my mood. At school, when | 
want to give my students short, clear di- 
rections for an assignment, the 14- and 
18-point font sizes are great for empha- 
sizing these instructions. So what's the 
beef? Why not use GEOS all the time? 
It's a great program, and | love it. 

My problem is that | also hate geo- 
Write. I'm sorry to have to say this, but 
it does have its faults. As Steve Vander 
Ark mentioned in his November 1991 
“GEOS” column, geoWrite is slow and 
tends to skip letters when you're 


cranked up, typing rapidly. Since | use 
a 128, | don’t have as great a problem 
as those who use a 64 and have to en- 
ter text in BSW font with screen-size 
margins so that the computer doesn't 
have to keep redrawing the screen. 

While GEOS lets me use a number 
of fun fonts, its print quality—unless 
you have a laser printer—leaves a bit 
to be desired for serious correspon- 
dence. | don't own a laser printer, | 
don't have the funds to invest in one, 
and | don't have the time to send off 
my geoWrite documents to a printing 
service and then wait for the mail to 
bring them back. 

Since | also use a modem and have 
a need to transmit files in true ASCII to 
an Associated Press computer, | don't 
want to type an article with GEOS, 
save it to disk, run a separate spelling 
checker program on it, resave the cor- 


rected article, pull down the menu to 


convert GEOS to a sequential file, 
save it again, and then finally load my 
terminal program. 

| know this will sound like out-and- 
out heresy to GEOS lovers, but my so- 
lution is to use regular, commercial 
word processor programs of the non- 
GEOS variety. Although these pro- 
grams have no icons to click on and 
I've had to memorize a few com- 
mands, | feel this minimal investment of 
brainpower is worth the effort. For 
those of you who have true letter qual- 
ity printers and 9-pin dot-matrix print- 
ers, regular word processors may be 
more to your liking in their versatility, 
print quality, and ease of use. Don’t 
get me wrong; | still love and use geoW- 
rite. But there are times when other 
word processors are better for the 
task at hand. 


A Speedy Solution 

I've used several good word proces- 
sors upon occasion, and here are 
some | can recommend. COMPUTE's 
SpeedScript is a great word processor, 
and there are versions for both the 64 
and 128. Included on the SpeedScript 
disk is a conversion program to 
change the word processor's screen 
code program files to true ASCII se- 
quential files. Until recently, | had to 
save the file, exit the original program, 
load the conversion program, load my 
text file, and then switch disks while 
the program converts and saves my 
sequential file to disk. 

| discovered a program on Quantum- 
Link called SpeedScript Modified for the 
64, It takes any version of SpeedScript 
and alters it so that it can load and 
save sequential files. The only downside 
is that SpeedScript Modified has no 80- 
column preview mode. When | write an 
article that's to be sent by modem, how- 
ever, it doesn't have to be previewed as 
a printed page, so a preview feature 
isn't important. 

If you print hardcopies of most of 
your documents, however, the Speed- 
Script disk does include an 80-column 
preview patch for modifying Speed- 
Script. With the press of a couple of 
keys, you can see onscreen how your 
printed page will look before you send 
your document to the printer. 

Like many programs, SpeedScript 
has a few surprises even for veteran us- 
ers. | recently discovered that it does 
have an option that will let me print a 
file to disk as a true ASCII or Commo- 
dore ASCII sequential file. This often- 
overlooked format command saves me 
the bother of using a conversion pro- 
gram. Now | can upload files by mo- 
dem with even less hassle. Sometimes 
it pays to read the manual! 

Separate spelling checker programs 
G-4 COMPUTE OCTOBER 1992 


are available for both versions of 
SpeedScript. These programs must be 
run after you've written and saved a 
document. 

| often have occasion to use hang- 
ing indents with Roman numerals 
when typing outlines or test questions 
and answers, so | need a program 
that offers variable margins. 
SpeedScript does offer a margin-re- 
lease option. With both versions of 
SpeedScript, text is formatted automat- 
ically with preset page lengths and mar- 
gins, but these are easily changed 
with a simple format command. Give 
this one a try. SpeedScript is quick, 
and it uses simple format commands. 
It beats trying to drag icons to an ex- 
act spot and risking the possibility of 
dropping them in the wrong area. 


The Fleet’s In 

Another solution to my writing prob- 
lems when | have specialized needs is 
Fleet System by Professional Software. 
| have version 2, but I'd like to upgrade 
to version 4 for the 128, with its pull- 
down menus. Unfortunately, both of 
these programs have been discontin- 
ued, but copies often show up at 
swap meets. In addition to the spelling 
checker disk that works within the pro- 
gram, version 4 has a thesaurus. 

Version 4, like SpeedScript, has 
true word-wrap, which makes looking 
over your typing much easier. Fleet Sys- 
tem 2 doesn’t have word-wrap, which 
is a drawback, but it does have advan- 
tages of its own. It works with the 64 in 
40-column mode and can scroll to 80- 
column width for a preview. In 80-col- 
umn mode on a 128, it presents an ex- 
act view of what's on each page. 

Fleet System comes with a short tu- 
torial and a detailed but easy-to-under- 
stand user's manual. This word proc- 
essor has all of the advantages you'd 
expect in a commercial word proces- 
sor. It can link long files, has local and 
global search and replace, has an ex- 
tra text area if | need to look at the 
disk's directory or other files, and offers 
a sophisticated way to move blocks of 
text. 

All margins in Fleet System are vari- 
able; just set them at the top of the 
file. Later, if | want to change the mar- 
gins, | simply and easily insert a com- 
mand to change them inside the doc- 
ument. The margins are just like those 
found on a typewriter. | can change 
them for a Roman numeral outline with 
the hanging indents that | need when 
preparing question numbers and items 
for a test. 

When | use a letter quality printer, | 
save the file as is with no adjustments. 
Like GEOS, | just choose the selecta- 
ble printer driver. If I'm printing a test 


for students, | normally use a dot-ma- 
trix printer. In this case, | use the print- 
er’s escape codes and print in double- 
strike or near letter quality mode. This 
produces printing that is clearer and 
easier to read than normal draft mode. 
This isn't a difficult operation, folks. Usu- 
ally, one embedded command lets me 
use a variety of printing options. 

If | have to send a Fleet System file 
through my modem, | hit one key, and 
| can store the file to disk as true AS- 
Cll. | cut out all formatting commands, 
which are essential only for a printer, 
and save text only. All the operations 
are accomplished while I'm still in the 
word processor. | don't have to 
change disks or resave numerous 
times to get the ASCII file. 


The Right Stuff 

With The Write Stuff by Busy Bee Soft- 
ware, | believe | have found word proc- 
essor nirvana for the 64 and 128. Yes, 
folks, it slices, it dices, and it makes 
quick work of any writing chore. For 
me, it has the right stuff. 

The Write Stuff is much more com- 
plex than SpeedScript and Fleet Sys- 
tem, so you'd expect a thick manual 
filled with time-consuming tutorials and 
explanations. Not so! The manual is 
small and thin, but the word process- 
ing disk itself contains 68 help files 
that you can load and read while still in 
the word processor. Use them as you 
need them, or use the Manual Maker 
program to print out all of the help 
files to read later. 

Busy Bee states that The Write Stuff 
is not only a “full-featured, high produc- 
tivity” word processor, but that it's also 
“intended for use by beginners, chil- 
dren, and occasional users.” This is ac- 
complished through a command line at 
the top of the screen that offers only 
five options: Help, Edit, Print, Save, 
and Load. A novice can start typing 
right away, save what’s been written, 
and then hit the Print command. A 
print menu lets you select options 
such as Double Space, Margins, Line- 
feeds, Justify, Number of Copies, 
Start at a Given Page, Wait Between 
Pages, or Preview on an 80-Column 
Screen. In the Edit mode, you can Eat 
Text (delete it) by word, sentence, and 
paragraph; restore deleted text; or 
clear all text above or below the cur- 
sor. Nothing has to be memorized or re- 
ferred to in order to type and print a 
draft. Neat, huh? 

More experienced and sophisticat- 
ed users, however, will appreciate the 
program's gamut of features. Once 
past the novice type-and-print stage, 
you'll want to explore and use these 
powerful options, with the help of The 
Write Stuffs enclosed cheat sheet. 


modore”™ 


IGA 


CG com 


Amiga 500 Computer 


Basic Package 


> gal 


ics Pack 
TENEX Super Graphics 
Package 
| TENEX Power Pack SS Forte 
Plus 3 Great Value Packages: Power Pest sc package eee 
*Software Bundie #1 sana fe on 
TENEX Bonus Pack *Software Buncle #2 & Joystick “Smorsninae 2 ote | 
i kage Soh 
swore ™ : ae geo Memory Expansion oe 3 Sie Ais si : 
; 454.75 otal 3 4 ° 
Tv Adapter $364.85 _TotalatReg Price eles : pay Tote Pookoge Pee ait Roy 
Totolot Rea Frage rice $339.95 Low reNexPackoge rice, SFR ne 
x 90 More! 
You Save $24. 
des: Masterlype. F-40 Pusut 
M are Bundle # 2 inclu 1 be paroheres 
softwore Buncle #1 Includes fas. Ynereh STE manatenivnere onstee O°® 
the World is Carmen Sandiego. O°* = eT 


Commodore-Ready Printer 


At An Incredible Price! Only . 
$1499 53 
$1 19% aay 149 ae) i 
THE COMPUTER PRINTER 


STAR NX-1000C 

Njoy near-letter Quality at 36 cps and high- 
speed draft at 144 cps, Features ino cae 
paper Parking function and convenient 
font Panel controls, Includes four built-in 
22 fonts and over 20 typestyles. This is the 


nl Commodore-ready version of thi - 

> Just plug it in and start pigtingere Gog | 
Sq tional interfaces or cables required, 
. Sug. Retail $299.00 x 


NX-1000C Printer 75060 $179.95- in ore 1541 Il 
Ribbon (NX-1000C) an $119.95 Comme a : 
Dust cover 77789 $5.95 Disk Drive 


$8.95 
Only 


O — one 
THER STAR PRINTERS CARDPRINT G-WIZ INTERFACE. 


4 NX-1001 Multi-Font Connect any printer to you! \ 
-¥ NX-2420 Rainbow Popa peti high-res screens up to 8 ee ee $ 1 69” 
NX.1020 Rabo “ASi0ae Bere Geosnite interfaces without buffers. 90-day 
J . franty. Fro i 
LaserPrinter 4 A5S7934 $799.00 GWisinede 34a8 seal Ad 


Don’t miss out on the lowest prices on 
the Amiga 500, plus a full line of 
Commodore and Amiga hardware, 
software, and accessories. 

Call today to receive your FREE 


catalog with the greatest prices on the 
most popular hardware and software! 


Shipping, Handling, Insurance 


Order Amount Charge & 

ms less than $19.99 $4.95 5 

S24 22> S> © 56600 Magnetic Drive $20.00$88 88 sos 3 
es Mishawaka, IN 46545 $75.00-$99.99 $7.95 : 

= = _ = S =_ == _—_219)259-7051 FAX (219)259-0300 $100.008149.99 sass 8 

= = = _ We gladly accept mail orders! $200.00'599.00 si20s B 
Computer Express Circle Reader Service Number 170 $500.00-$609.99 si995 

an GTEr: 9 a 3 

Order Today! Call 1-800 -FROMPT-1 OSes PRAT e ie 
COMMODORE 64 and COMMODORE 128 are registered trademarks of Commodore Electronics, Ltd. AMIGA is a registered trademark of Commodore Amiga Inc., NOTE: Due to publishing & 


leacttimes, product prices and specifications are subject to change without notice. “APO, FPO, AK, Hl, CN, VI, GU, and foreign orders are subject to additional shipping charges. a4 


First off, both the 64 and 128 pro- 
grams come with Busy Bee Speller. In 
version 1, the speller.is a stand-alone 
program that can’t be accessed from 
within the word processor. That puts 
you back in the SpeedScript and 
GEOS category, saving your text, exit- 
ing the program, loading the spelling 
checker, and then saving the correct- 
ed text. 

In version 2, however, the spelling 
checker boots with The Write Stuff and 
can be used from within the program. 
The great thing about this spelling 
checker is that it doesn’t just flag sus- 
pected words from its dictionary and 
force you to look them up. For good 
spellers, BB Speller has a quick 17,000- 
word dictionary that finds most com- 
mon words for fast typo checking. If 
you're a poor speller, an additional 
61,000 words kick in. You can select 
an option that will automatically correct 
your spelling. There's none of that time- 
consuming business of trying to look 
up a word when you don’t know how to 
spell it in the first place. In addition, 
you can add 15,000 words of your own 
and delete those that you don't need. 

The Write Stuff offers a multitude of 
features that let you get as complicat- 
ed as you want. By progressing 
through the features in stages, complex- 
ity isn't forced upon you. A Menu Mak- 
er lets you create custom disk menus, 
edit program names beyond the usual 
16 characters, and add comments. 
Thus, instead of trying to remember an 
exact program name to load, you can 
search through a menu of meaningful 
filenames, complete with brief descrip- 
tions. Children and poor typists will 
like the fact that they can use the cur- 
sor to load files. 

Like SpeedScript, The Write Stuff 
saves text as program (PRG) files in 
screen code, but you can save text as 
sequential (SEQ) files with the press of 
a key. If you have files from 
SpeedScript, Easy Script, PaperClip, 
Fleet System, or other word processors 
and want to convert them for use with 
TWS, the program offers automatic file 
translation for ten different word proc- 
essors. | loaded Fleet System USR 
files and successfully converted them, 
including the embedded format com- 
mands. With the press of a key, you 
can opt for word-wrap or you can see 
an edge effect, the term for the white 
space that surrounds your text on the 
printed page. 

The Write Stuff has many more fea- 
tures as well. To compare different ver- 
sions of a file at the same time, you 
can opt for a split screen. TWS rivals 
GEOS and other graphics-based word 
processors by letting you print in dou- 
ble columns for simple desktop publish- 
G-6 COMPUTE OCTOBER 1992 


PRODUCT BOX 
The Write Stuff 
Busy Bee Software 
P.O. Box 2959 
Lompoc, CA 93438 
(805) 736-8184 
Commodore 64—$19.95 
with Busy Bee Talker—$24.95 
with Busy Bee Speller—$29.95 
with Busy Bee Speller and Busy Bee 
Talker—$34.95 
Commodore 128, 80-column—$29.95 
with Busy Bee Speller—$39.95 


SpeedScript 

COMPUTE Publications 

324 W. Wendover Ave., Ste. 200 
Greensboro, NC 27408 

(919) 275-9809 

Commodore 64 and 128, 40-column and 
80-column plus utilities—$11.95 


Word Writer 6 

Timeworks 

625 Academy Dr. 

Northbrook, IL 60062 

(708) 559-1300 

Commodore 64 and 128; 40-column 
with dictionary, thesaurus, art library, 
fonts—$49,95 


ing. You can also add soft hyphens i 
you want words to get as close as pos- 


sible to the right-hand margin but don’ 
want to use justification. 

The Write Stuff also supports the Su- 
per Graphix printer interface, RAM ex- 
panders, sorting by columns, file secu- 
rity, and alternate fonts such as Ga- 
zette programs Ultrafont+ (September 
1986) or Excelfont 80 (June 1988). Writ- 
ers and students should like its handy 
outliner. About the only feature this pro- 
gram doesn't have is a thesaurus. 

One additional feature that comes on- 
ly with the 64 version is Busy Bee Talk- 
er. BB Talker uses SAM (Software Au- 
tomatic Mouth) from Tronix Software to 
read aloud anything you've written 
with BB Writer. This is a great feature 
for reading stories to children or for let- 
ting them create their own and having 
SAM read their stories to them. 


The GEOS Substitute 
If your old word processor seems out- 
dated and if you'd like to upgrade to a 
newer one that can print different 
fonts and has graphics capabilities but 
you don't want to invest in GEOS, then 
take a look at Word Writer 6. This Time- 
works program for the 64 and 128 in 
40-column mode offers both plain and 
fancy word processing capabilities. 
You can print text in different size 
fonts and even insert small graphics. 
Don’t expect to rush through this 
word processor and become an expert 
the first time you try it. Word Writer can 
do much, but it’s complicated and 


takes time and effort to get up and run- 
ning. It’s not for children or the occa- 
sional user. 

The 166-page manual says Word 
Writer is “a complete writing environ- 
ment for memos, manuscripts, and eve- 
rything in between.” That may be true, 
but learning to use it takes some effort. 
It was like trying to install GEOS and 
making all those disks the first time out. 

First off, you can’t just boot up the 
disk and start typing. You have to 
make a backup disk containing all the 
files and fonts you think you'll need. 
That takes up a lot of space, so you 
can't store many documents on a 
disk. When the disk is full, you have no 
choice but to make another backup 
disk. 

The manual does have a section for 
getting started quickly, and the pro- 
gram comes with a cheat sheet to 
help you become familiar with the com- 
mands. When you run the program, sev- 
eral help screens are available to ac- 
quaint you with various features. 

Although the program supports a va- 
riety of printers, nothing is truly automat- 
ic. It took me an hour to get a sample 
text file printed correctly with a Super 
Graphix interface and Star SG-10 print- 
er since that combination wasn’t on the 
automatic-setup list. 


The Final Word 
When it comes to commercial word 
processors, this die-hard GEOS fan 
finds that she can crank them up and 
type faster with them than she can 
with geoWrite. | don’t have to wait for 
the screen to redraw because |’m not 
using a graphics-based processor. | 
don't drop icons accidentally or have 
to reset them, trying to get proper mar- 
gins, paragraph indents, and tabs on 
the exact spot. Also, what | see in the 
preview for both the 64 and the 128 is 
exactly what |’ll get on the printed 
page. 
| have to give up most of the fancy 
fonts | use with GEOS, and I’m con- 
fined to 12-point type unless | load ex- 
ternal fonts. But that’s not truly a prob- 
lem. | find | do most of my work with 
standard typefaces and ASCII files any- 
way. Because I’m usually in a hurry 
and don’t want to wait for all the disk 
saves and loads or for the screen to re- 
draw, | often find | don’t need the graph- 
ics or fancy fonts of geoWrite. I’m not 
saying goodbye to geoWrite; I'm just ad- 
mitting that commercial word proces- 
sors do make my life easier. 0 


Dorothy Hemme teaches high school 
in Sugar Land, Texas. Like any good 
teacher, this GEOS fan keeps an open 
mind to computing alternatives. 


Fun Graphics Machine 


FUN GRAPHICS MACHINE (FGM) 1S AN “ALL-IN-ONE” GRAPHICS 
PROGRAM FOR THE C=64, WHAT CAN BE CREATED WITH FGM IS 
ONLY LIMITED BY YOUR IMAGINATION, JUST A FEW EXAMPLES: 


BUSINESS CARDS 
cus. L$ 
ING 


FUN GRAPHICS mAi 


K 
SUPPORTS 
HI-RES SCREENS U 


| 
IRNY POPULA’ 


£0 
GEOS SCREENS CAN BE CAPTURED SIMPLY BY RESETTING 
COMPUTER THEN LOADING THE FUN GRAPHICS MACHINE 


FEM CLIP ART VOL,1 OVER 200 EXCELLENT GRAPHICS- $8.0) 
FGM FONT DISK OVER 90 FONTS IN FGH FORNAT~----~ $5.00 
C=64 KEYBOARD TEMPLATE NAKE vOUR OWN OVERLAYS-- $5,00 
C=128 KEYBOARD TEMPLATE HAKE yYouR OWN OVERLAYS- $5.00 
FGM CALENDAR TEMPLATES OAILY, WEEKLY, MONTHLY-- $5.00 


FULL KEYBOARD OVERLAYS FOR THE FOLLOWING PROGRAMS Cea 
CMO’S HARD ORIVE, RAMLINK, RAMDRIVE JIFFY DOS COMMANDS 
SNAP SHOT 5 ACTION REPLAY 4&5 EPYX FAST LOAD 
(5 BUSINESS FORM SHOP CALC STAR BASIC 9 5Qen 
ROCK’S ASSEMBLER (S80 THE FUN GRAPHICS MACHINE A 
PLEASE STATE COMPUTER (C64,C128,SX-64) OR C64 IS SHIPPED 


P.O. Box 2206 44 
Roseburg. OR. 9747084 


(503)-673-2234 
ADD $3.50 FOR S/H PER ORDE! 


New * Big Blue Reader 128/64 - 4.0 


Transfers word processing, text, ASCII, and binary files between 
C64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks 

New Version 4.0 features: Transfers ASCII, PET ASCII and Screen 
Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip, 
WriteStuff, GEOS, EasyScript, Fleet System and most others 

Supports drives # 8-30. New Backup (C128) and Format (1571/1581) 
programs. Reads MS-DOS sub-directories, uses joystick, and more. 
Includes C128 & C64 programs. Requires 1571 -or- 1581 Disk Drive. 


Big Blue Reader 128/64 - 4.0 only $44.95 


Version 4.0 upgrade, send original BBR disk plus $18. 


Bible Search 3.2 


. Complete Old & New Testament text on (4) 1541/71 or (2) 1581 disks. 

. An Exhaustive English Concordance on (2) 1541/71 or (1) 1581 disks 
Includes more than 700,000+ references, 

Incredible five (5) second look-up time, per/word, per/disk. 

. Instant, automatic spell checking of more than 12,800 words. 

. Wildcard and Boolean AND, OR & NOT search options. 

. Search the entire Bible in 5 seconds with 1581 or HD (version 3.52). 

. Money Back Guarantee! 

Features: C64 & C128 programs; screen, printer and disk output; 

users guide, disk case. Available on (7) 1541/71, or (4) 1581 disks. 


KJV $49.95 | NIV $59.95 | Both $90 
ex Any questions? Call or write for more information. 
Order by check, money order, or COD. US funds only. 


ts FREE shipping in US. No Credit Card orders. 
Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR) 


SOGWAP Software F (219)724-3900 


115 Bellmont Road; Decatur, Indiana 46733 


es 


NOOR 


Th 


GRAPEVINE GROUP ,... 


Inc. 


COMMODORE UPGRADES 


" SPECIALS 


* e COMPUTER SAVER: This C-64 Protection System saves you costly repairs. 
t Over 52% of C-64 failures are caused by malfunctioning power supplies that 
destroy your computer. Installs in seconds between power supply & C-64, No 
soldering. 2 year warranty. An absolute must and great seller .. . $17.95 

© PRINTER PORT ADAPTER by Omnitronix. Avoid obsolescence. Allows you to 
use any Commodore (C-64) printer on any PC compatible or clone. Does not 
* work with Amiga. .. . $34.95 


512K RAM EXPANDERS 


By special arrangement with Commodore, we are able to purchase ata fantastic 
price 400 of the original 512K 1750 RAM expander units for your C64 or C128 
computer. Now keep up with the latest technology. Upgrade to 512K with a 
} simple plug-in module. Completely compatible and comes with software. If you 
have a C64 you will need a heavier power supply (4.3 amp), which we will give 
you for $31.00, C128 users do not need this power supply. This is the original 
Commodore unit with over 800,000 sold.. 
Super 1750 REU CLone (512K). Does not req 9 , 


COMMODORE DIAGNOSTICIAN II 


Originally developed as a software package, then converted to a readable 
format, the Diagnostician has become a fantastic seller. With over 38,000 sold 
worldwide, Diagnostician Il utilizes sophisticated cross-reference grids to locate 
faulty components (ICs) on all C-64 and C1541 computers (C-128/64 mode). 
h Save money and downtime by promptly locating what chip(s) have failed. (No 
equipment of any kind needed.) Success rate from diagnosis-to-repair is 98%. 
Includes basic schematic ... eee ++ $6.95 
(Available for Amiga computers with 3¥2" disk at $14.95) 


NEW POWER SUPPLIES 


© Asuper-heavy, repairable, “not sealed” C-64 power supply with an output of 

4.3 amps (that's over 3x as powerful as the original). Featuring 1 year warranty, 

ext, fuse, schematics, UL approved . $37.95 
(includes bonus Commodore Diagnostician II (valued @ $6.95) 

© Our Biggest Seller ® 1.8 amp repairable heavy duty supply for C-64, (Over 

120,000 sold,).... . $24.95 


REPLACEMENT/UPGRADE 
CHIPS & PARTS 
6510 CPU 
1, 6526 CIA 
y@ 6581 SID 


6567 Video. 
PLA 906114 


C1571 ROM Upgrade (310654-05) 

C-64 Keyboard (new) 

C64 Cabinet (new) 

Interface Cables: #690 C64 to 1541/1571 disk driv 
#693 C64 to 3 pin RCA (eg. 1084) 

1541/1571 Drive Alignmen 

Super Graphics by Xete’ 

Service Manuals for C64, C428, 1802, 1084SP, 1541 


+ EMERGENCY STARTUP KITS + 


Save a lot of time and money by repairing your own Commodore computer. All 
chips are direct socket plug-ins (no soldering). Each kit includes all you need to 
“start up"/revive your broken computer. Originally blister packed for the 
government PXs worldwide, this series is now available to you. Total cost 
savings per kit far exceeds purchasing chips on an individual basis 


KIT #3 (Part #DIA 15) for C64 
Symptoms: No power up ® Screen lock up ® Flashing colors * Game 
cartridge problems 
Contains: ICs #PLA/82S100/906114, 6526, Commodore Diagnositician, 
Fuse, Chip Puller, 8 RAMs, Schematic, Utility Cartridge & special 
diagnostic test diskette with 9 programs 
An $87.50 value for only $29.95 


KIT #4 (Part #DIA 16) for C64 
Symptoms: Control Port * Sound ® Keyboard ¢ Serial device problems 
Contains: ICs #6526, 6581, 8 RAMs, Commodore Diagnostician, Fuse, Chip 
Puller, Basic Schematic, Utility Cartridge & special diagnostic test 
diskette with 9 programs 
A $79.80 value for only $29.95 


KIT #5 (Part #DIA 17) for 1541/1571 
Symptoms: Drive runs continuously ® Motor won't stop ® Read errors © No 
power up 
Contains: ICs #6502, 6522, Fuse Chip Puller, Basic Schematic, Commodore 
Diagnostician & special diagnostic test diskette with 9 programs 
An $70.10 value for only $29.95 


Send For Free Catalog 
3 CHESTNUT ST., SUFFERN, NY 10901 
Order Line 1-800-292-7445 Fax 914-357-6243 
Customer Service: 914-368-4242 __ International Order Line: 914-357-2424 
We Ship Worldwide Prices subject to change 
Hours: 9-6 E.T. M-F 15% Restocking Charge 


Tell a friend you've heard it through the Grapevi1 


e. 


Circle Reader Service Number 145 


REVIEWS 


GEOWIZARD 


You have to expect some- 
thing special from a pro- 
gram that bills itself as “the 
ultimate GEOS utility.” But 
when you run this AUTOEX- 
EC program, all you see is 
an innocuous dialog box tell- 
ing you that geoWizard has 
been installed in your RAM. 
(You need at least 512K. 
Smaller RAM units can be 
used only at the expense of 
the RAM disk.) 

That's about it. Life goes 
on as usual, and you might 
even forget that geoWiz- 
ard’s there. But when you 
press both buttons on the 
mouse (or a key combina- 
tion if you use a joystick), 
geoWizard pops out of no- 
where and shows its stuff. 
Whatever you're doing— 
working on a document or 
moving files around the desk- 
Top—freezes, and a new 
command window opens at 
the top of the screen. This 
new menu offers a number 
of functions at the touch of a 
key combination. At this 
point, geoWizard is ready to 
go. 

Press the Commodore 
key and the P key simultane- 
ously to dump a screen to 
your printer. Such a screen 
dump is glaringly absent 
from the GEOS system. The 
routine will print both 40- 
and 80-column screens. On 
the geoWizard disk is a 
desk accessory that can in- 
crease the capabilities of 
the screen dump, allowing 
you to dump the image to a 
photo scrap or a geoPaint 
file. Pretty snazzy, but that's 
only the beginning of geoWiz- 
ard’s capabilities. 

You can use another key 
combination to rescue you 
from those annoying system 
error dialog boxes. When 
you lock everything up, as 
long as the pointer is still 
moving on the screen (in oth- 
G8 COMPUTE OCTOBER 1992 


er words, if GEOS can still 
read your input device), 
geoWizard is alive and kick- 
ing, ready to transport you 
back to the deskTop with 
your RAM _ disk __ intact. 
There's also a command to 
do a system reboot, which 
starts you over from 
scratch. Use this to recover 
from the most hopeless 
crashes. 

All of this is great, but 
geoWizard has more amaz- 
ing tricks up its disk sleeve. 
When you press the Commo- 
dore key and either L (for 
Load) or D (for Desk acces- 
sory), something extraordi- 
nary occurs. After present- 
ing you with a file selection 
box (a much more efficient 
one than GEOS usually us- 
es), geoWizard opens anoth- 
er program for you, right 
smack in the middle of what- 
ever you're doing. The op- 
tions allow you to run a 
desk accessory, an applica- 
tion, or an AUTOEXEC file 
without closing another appli- 
cation first. It's a lot like mul- 
titasking, and it can really 
speed things up. 

Let me illustrate. If you're 
in the middle of a geoPub- 
lish session and you discov- 
er that you need to do some 
graphics work in geoPaint, 
you activate geoWizard. 
Press Commodore-L to load 
an application, select ge- 
oPaint from any active 
drive, and you're off. When 
you leave geoPaint, you'll 
be returned to where you 
left off in geoPublish. This 
powerful feature alone is 
worth the program's modest 
price. 

As if that weren't enough, 
the geoWizard disk includes 
MiniDesk, a desk accessory 
that works some rather fine 
magic of its own. MiniDesk 
provides a scaled-down ver- 
sion of the deskTop, listing 
files by name instead of by 
icon and offering several es- 


sential file-handling func- 
tions: copy, scratch, and re- 
name. You can access any 
drive using MiniDesk, includ- 
ing drive C. While in geoPub- 
lish, for instance, you might 
discover that you've forgot- 
ten to place a text file on 
your work disk. No need to 
quit geoPublish when Mini- 
Desk is around. The needed 
file can be retrieved from 
any drive and copied onto 
your work disk in seconds. If 
you're short of disk space, 
MiniDesk will let you clear 
nonessential files without 
leaving the comfort of your 
application. 

All of these amazing 
feats don’t come free. There 
are some compatibility prob- 
lems because geoWizard 
breaks a few GEOS rules to 
work its wonders. There ar- 
en't many problems, howev- 
er, and most of them are de- 
tailed in the documentation 
that comes on disk as a 
geoWrite document. If you 
use a utility that’s on the 
disk to relocate the geoWiz- 
ard code during boot-up, 
you can even avoid some of 
these problems. 

Generally speaking, 
geoWizard may conflict with 
third-party programs that 
may also break rules by re- 
writing vectors or areas of 
memory that GEOS normally 
leaves vacant. One example 
is GateWay. There is some 
incompatibility, since Gate- 
Way's Switcher and geoWiz- 
ard’s multitasking fight over 
memory space. Such prob- 
lems are rare, which is a trib- 
ute to Jim Collette’s skills as 
a programmer. 

In fact, the entire pack- 
age is one of the finest piec- 
es of user-written software 
I've ever seen. The program 
is as bug-free and user- 
proof as you can imagine. It 
cheerfully shows up whenev- 
er you call it and tidies up 
screen modes and disks be- 


fore it leaves. The documen- 
tation is clear and complete, 
including honest information 
about possible pitfalls and a 
technical description of how 
the magic is done. Try it, 
and geoWizard, the ultimate 
utility for GEOS, will quickly 
become an indispensable 
part of your GEOS environ- 
ment. You won't know how 
you got along without it. 
STEVE VANDER ARK 


Commodore 64 or 128, RAM expan- 
sion with at least 512K, GEOS 2.0— 
$16.50 


COMM-PLEX SOFTWARE 
6782 Junction Rd. 
Pavilion, NY 14525 


Circle Reader Service Number 341 


GEOVIDEO 


On the wall by my computer 
desk is a scrap of paper, 
torn from a notebook that 
has long since hit the circu- 
lar file. On that piece of pa- 
per is a collection of scrib- 
bles—SYS commands, 
phone numbers, three-line 
programs, directory com- 
mands, and so on—that I've 
accumulated over the 
years. | keep telling myself 
that I'm going to print a 
nice, clean copy one of 
these days and throw away 
the messy version—but | 
know | never will. 

That scrap of paper with 
its messy scrawl is one of 
the most valuable reference 
tools | have. It makes no dif- 
ference that it looks like 
something blown into my 
yard from the dumpster 
across the street. It gives 
me information that | need. 

In other words, it's not the 
package; it’s the content. 
Keep that in mind when you 
look at geoVideo. This isn’t 
software for your 64; it's a vid- 
eotape tutorial for GEOS. It 
was put together by a 
group of people whose ex- 
pertise is GEOS, not video. 


I thought my wife 
was just forgetting things. 


KS 


Then she forgot my name. 


1-800-621-0379 


(In Illinois 1-800-572-6037) 


A 


10 1988 Alzhewner’s Disease and Related Disorders Association. Inc 


Yes, save time and money! Subscribe to the Gazette 
Disk and get all the exciting, fun-filled Gazette pro- 
grams for your Commodore 64 or 128—already on 
disk! 

Subscribe today, and month after month you'll 
get all the latest, most challenging, and fascinating 
programs published in the corresponding issue of 
COMPUTE. 

New on the Gazette Disk! In addition to the 
programs that appear in the magazine, you'll also 
get outstanding bonus programs. These programs, 
which are often too large to offer as type-ins, are 
available only on disk—they appear nowhere else. 
As another Gazette Disk extra, check out 


8 BIT 


PO BOX 542 
LINDENHURST NY 11757-0542 


DON’T LET A SPILL CAUSE A COMMODORE 


MELTROAWN 
ONE SMALL MISTAKE COULD DESTROY 
YOUR COMMODORE COMPUTER FOREVER 
The finest quality keyboard seels are available for your| 
Commodore . Custom molded for cach model, 


6 PACSETS 
EACH SET $5.00 


Never Again Wear Off The Print On Your Keys! 


Save Your Commodore for ONLY $ 19.00 
Order # VS64 .......fits your Commodore 64 or Vic 20 
64C 


COMMERCIAL SOFTWARE ! 
CALL FOR ITEM AVAILABILITY ! 
S 


JOYSTICK 
ONLY $5.00 


MANY ITEMS ARE CLOSEOUT ITEMS ONLY, 
AND THE AMOUNT OF STOCK MAY BE LIMITED! 
CALL OUR OFFICE TO VERIFY AVAILABILITY ! 
SHIPPING $2.00 For First Ite + $1.00 cach additional item! 
°U.S. Fands Oaly! °SORRY NOC.O.D.'s OR CREDIT CARD ORDERS) 
FOR A FREE COPY OF OUR CATALOG, CALL: 
(516-957-1110 MONDAY - FRIDAY 10am to 5 pm EST 


Alien Syndrome, and Thunderblade !) 


Circle Reader Service Number 162 


“Gazette Gallery,” where each month we present the 
very best in original 64 and 128 artwork. 

So don’t waste another moment. Subscribe to- 
day to COMPUTE’s Gazette Disk and get 12 issues 
for only $49.95. You save almost 60% off the single- 
issue price. Clip or photocopy and mail completed 
coupon today. 

Individual issues of the disk are available for 
$9.95 (plus $2.00 shipping and handling) by writing 
to COMPUTE, 324 West Wendover Avenue, Suite 
200, Greensboro, North Carolina 27408. 


YES! Start my one-year subscription 
to COMPUTE’s Gazette Disk right away 
for only $49.95.* : 


O Payment enclosed (check or money order) 


OCharge OMasterCard OVisa 
Acct. No. Exp. Date 
Signature 
(Required) 
Name 
Address 
City 
State/ ZIP/ 
Province Postal Code 


Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430 


"Residents of NC and NY, please add appropriate sales tax for your area. Canadian 
orders, add 7% goods and services tax. 


REVIEWS 


You might smile and say, 
“Yeah, but hey, they know 
what they're talking about,” 
and you'd be right. Sort of. 

This onscreen duo does 
know its subject, but the vid- 
eo has some problems. 
There are occasional cuts 
that clip off part of what's be- 
ing said, and the poor im- 
age of the computer screen 
makes it difficult to see 
what's being described at 
times. There's the fact that 
the cursor has been rede- 
fined and doesn't remotely 
resemble the pointer novice 
users might expect to see 
on their own screens, but 
these blemishes are minor. 

The real problems come 
from the fact that, even 
though these folks are obvi- 
ously experts at GEOS, they 
don't impart that expertise in 
a logical sense. Instead, 
they ramble through a de- 
scription of each application 
using the menus as a gener- 
al guide, throwing in occa- 
sional tidbits of vaguely relat- 
ed information when the 
idea strikes them. To be 
fair, they do cover most of 
what you need to know 
about GEOS, but unless 
you're familiar with the pro- 
gram to begin with, you'll nev- 
er be able to piece it togeth- 
er from geoVideo. 

Which brings up another 
problem. Far too often the 
person explaining the pro- 
gram uses a keyboard short- 
cut to accomplish a task. 
Since the video shows only 
the monitor screen, the view- 
er can’t see what is being 
demonstrated! Keyboard 
shortcuts are defined even- 
tually, but not before they're 
used extensively and myste- 
riously. Of course, many 
GEOS users would know 
these shortcuts already and 
wouldn't be confused. Then 
again, those users wouldn't 
need geoVideo in the first 
place. The folks who do 


G-10 COMPUTE OCTOBER 1992 


need a video like this are 
the ones who gave up on 
GEOS the minute they saw 
a manual more than eight 
pages long. They need accu- 
rate, easy-to-follow instruc- 
tions and information. 

OK, OK, now | hear some 
people accusing me of 
nitpicking. Who cares if the 
cursor is shaped like the let- 
ter K instead of its usual 
pointer? And didn’t | say 
that the video quality isn't all 
that important? Any user 
who watches geoVideo will 
get some information from it. 
It's very interesting to watch 
expert users put a powerful 
software package like this 
through its paces. And the 
quality of the screen image 
and commentary does occa- 
sionally shine, especially in 
the geoPaint tutorial. Even a 
jaded GEOS junkie like me 
can glean some pointers 
from other experts. 

GEOS is a rich, powerful 
operating environment with 
a lot of possibilities. New us- 
ers watching geoVideo will 
certainly get a feel for the im- 
mense capabilities of the sys- 
tem along with a healthy 
dose of information that 
they can use. But right 
away, we run into another 
problem. The information 
isn't always accurate. 

Early in the video, it’s stat- 
ed that the geoRAM device 
is inserted into the user 
port; actually, it goes in the 
cartridge port. The Search 
and Title Page functions in 
geoWrite are obviously new 
to the expert trying to ex- 
plain them, since she 
doesn't get them right. The 
strange effects of colors 
bleeding into each other, in- 
herent in the Commodore 
high-resolution screen, 
seem to baffle the presenter 
as much as they would a 
new user. The Update func- 
tion is erroneously declared 
to be unnecessary for 


geoRAM users. 

The list of inaccuracies 
goes on and on, and that's 
a problem—a big problem. 
The makers of this video 
should at the very least 
have planned exactly what 
they were going to say 
about each feature before 
they switched on the cam- 
era. Also, they should have 
researched the items that 
they were fuzzy about. 

So what's the verdict? Is 
geoVideo worth the 20 
bucks? That depends. Is it a 
complete tutorial? Pretty 
much. Is it accurate? Fairly. 
Is it interesting? For any 
GEOS nut, sure. Is it instruc- 
tive? It's really too disjointed 
and assumes too much for 
most novices. If you're an 
intermediate user who'd like 
to see how that darn graph- 
ics importer really works or if 
you break out in hives when 
confronted with a hefty man- 
ual, geoVideo is worth a 
look-see. 

| certainly compliment the 
makers on a good effort, but 
unfortunately, they have giv- 
en us what amounts to a 
first draft that’s still plagued 
with errors. What geoVideo 
needs is a good final edit. 
STEVE VANDER ARK 


geoVideo—$20 


MEMORY PLUS ENTERPRISES 
Box 225 

Oakwood, IL 61858 

Circle Reader Service Number 342 


SID MASTER 


“You know, looking at this 
program is about as excit- 
ing as looking at a belt sand- 
er,” David Minnick said to 
his coreviewer wife, Robin. 
“OK, but a belt sander is 
a handy thing to have 
around if you're building a 
bookcase,” Robin replied. 
SID Master is a modest- 
looking program—no fancy 
frills. Its manual has a sub- 


dued, two-tone cover, basic 
Courier-style print, and com- 
puter-generated diagrams. 
Yet, like a belt sander that 
makes a tedious woodwork- 
ing job easier, SID Master is 
a powerful addition that 
should be welcome in any 
programmer's toolkit. 

Indy Software has recent- 
ly lowered SID Master's 
price, and the manual alone 
is worth the modest cost. 
This is an excellent hand- 
book for understanding 
sound, sound production, 
and the Commodore SID 
chip. Appendices in the man- 
ual contain listings of the 
SID registers, tables of de- 
cay and release times, and 
tables of frequency settings 
and sustain loudness levels. 
This information is available 
in Commodore's Program- 
mer's Reference Guide, but 
it's nice to have it here in a 
manual dedicated to sound. 

Let's take a look at some 
of the material covered in 
the manual. | think you'll 
agree that it's a great refer- 
ence book. 

The first chapter provides 
an overview of the program 
and is mandatory reading. 
Subsequent chapters ex- 
pand on the properties of 
the SID chip, how it works, 
and how you can control it. 

Chapter 2 deals with par- 
ameters applying directly to 
the SID chip’s three inde- 
pendently controlled voices. 
Each parameter is defined 
and explained, followed by 
an example for experimenta- 
tion. Parameters include fre- 
quency, pulse width, wave- 
form, ring modulation, syn- 
cronization, and the enve- 
lope generator, which cov- 
ers attack, sustain, decay, 
and release. 

Filter parameters are cov- 
ered in chapter 3. The filter 
is used to remove high, low, 
or middle frequencies of the 
waveform. 


PUMP UP 


YOUR PRODUCTIVITY! 


Harness the potential of your, The eum Graphics 
64 and 128 with these Sain 


Do it all with Commodore 


f | graphics! 
powertul programs. Here's what's on it- 

burst Graphics, 
Get more work out of your 64 and 128 see Designer 128 
with these two new disk products from 128 Graphics Compactor, 


64 Animator, VDC Graphics, 
Dissolve 128, Super Slideshow, 
128 Animator, 1526 PrintScreen, 
Supratechnic, Medium-Resolution 
Graphics, Screen Maker, GAS!64— 
Special Edition, GAS!128-Special 


ORDER 
THEM 
TODAY! 


COMPUTE's Gazette — the 1992 
Best of Gazette Utilities, and 

the Gazette Graphics Grab 
Bag! 

The 1992 Best of 
Gazette Utilities 

Seize control of your operating 
system and your world! 


Here's what's on it-MetaBASIC 64, 
MetaBASIC 128, Quick, Sprint Il, 
Ultrafont+, RAMDisk 64, RAMDisk 128, 
BASSEM, SciCalc 64, List Formatter, 
MegaSqueeze. 


Extend Your Computer Power With This Powerful Software! 


em Check or Money Order ___ MasterCard _ VISA 
| want to pump up my productivity! Please send me the 
| ©@ disks checked below at $11.95 each. Credit Card No. Exp. Date 
Signature 
The 1992 Best of Gazette Utilities Y (Required) 
_— The Gazette Graphics Grab Bag Daytime Telephone No. | 
_—— Subtotal Name 
—— Sales Tax (Residents of NC and NY please add appropriate sales tax for your 
area. Canadian orders, add 7% goods and services tax.) Address 
_— Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City | 
airmail per disk.) 
Total Enclosed State/Province ZIP/Postal Code 
Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, 
MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. | 


Everything’s included! 
Features, games, reviews, 
education/home applications, 
programming, bugswatter, 
feedback, and columns! 


A superb interface includes pull-down 
menus, help screens, and keyboard, 


joystick, or mouse control. Features in- 


clude super-fast searching and sorting 
capabilities. An options screen allows 
you to choose text colors, drive num- 
ber, and input device. And there’s full 
documentation on disk. 


Choose from three modes of opera- 
tion—browse for quick scanning, view 
for detailed information and descrip- 
tions, and edit for adding items from 
upcoming issues—and print to any 
printer. There’s even a turbo-load op- 
tion for maximum disk-access speed. 


ORDER YOUR 
1991 GAZETTE 
INDEX TODAY! 


(MasterCard and Visa accepted on 
orders with subtotal over $20.) 


To order, send $7.95 per disk, the 
quantity of disks ordered, check or 
money order,* your name and com- 
plete street address: 


1991 Gazette Index 

324 West Wendover Avenue 
Suite 200 

Greensboro, NC 27408 

*Please add $2 shipping & handling ($5 foreign) for 
each disk (residents of NC, NJ, NY please add appli- 
cable sales tax; Canadian orders, add 7% goods and 
services tax). 


All payments must be in U.S. funds. Please allow 4 
weeks for delivery. 


REVIEWS 


Chapter 4 explains the digital/analog 
meter that is displayed on SID Master's 
screen. The meter displays continuous 
output of the SID chip's four read-only 
registers. This chapter explains how 
the registers can be used to generate 
sound effects in conjunction with soft- 
ware links, parameters that control soft- 
ware in SID Master itself. Chapter 5 cov- 
ers the creation of complex sounds 
with these software links. 

Chapter 6 is the one most of us 
have been looking for. This is where 
you learn how to incorporate sound ef- 
fects in BASIC programs. This chapter 
provides the background and mathe- 
matics necessary to enable you to 
take the sounds that you’ve created 
with SID Master and put them where 
you want them—in your own software. 

The mathematics used to convert pa- 
rameter values into bytes are present- 
ed in a BASIC program that does the 
work for you. In no time at all, we 
came up with a simple program using 
two sounds we created and the num- 
bers in the manual for producing two 
other effects. Our short demonstration 
depicts an annoying noise, an aggravat- 
ed assault upon the source of that 
sound, then enthusiastic applause, fol- 
lowed by authoritative retribution. 

A defective power transformer near 
our house had been making an annoy- 
ing ponging sound, so we used SID 
Master to develop a similar sound on 
the 64. Then we worked on applause. 
We modified a siren whose parameters 
were listed in the manual. Then we 
took the numbers listed for a gunshot 
effect. After converting these numbers 
to the appropriate POKEs and adding 
some PRINT statements, we came up 
with a short program. Imagine that you 
are running this program, listening to 
the sounds and reading the text that ap- 
pears on your monitor. 


Sound: PONG! PONG! 
PONG! 

Text: Will someone please 
shut that thing up? 

Text: Just a minute, honey. 
| have an idea. 

Sound: Gunshot. 

Text: Good shot! 

Sound: Applause. 

Text: Jolly good! 

Sound: — Siren. 

Text: Uh oh!!! 


OK, so we're not Jim Butterfield or 
even Arlan Levitan—but it worked, and 
so does SID Master. 

Other programs let you play around 
with sound, helping you learn about 


waveforms, pulse widths, and sound 
envelopes. SID Master takes you a 
step further by helping you to use the 
sounds that you create. As its name im- 
plies, it helps you master the SID chip. 

Normally, when you try to program 
sound, you have to experiment, trying 
out different routines, poking in various 
values and settings. This process lets 
you alter only a few parameters at a 
time, checking the results one by one. 
SID Master lets you manipulate all of 
them at once. This makes creating and 
adjusting sound effects quicker and 
easier. All that remains is adding the 
numbers to your own programs. (SID 
Master is geared toward BASIC pro- 
gramming, but it wouldn't take many 
more steps to convert the numbers in- 
to hex to use SID Master with assem- 
bly language.) 

There is an art to using SID Master 
efficiently. There are nuances to many 
of the steps. Certain delay times work 
better than others. You may find that 
you prefer some filters with certain 
kinds of waveforms over others, and get- 
ting just the right sound takes some 
fine-tuning. But that’s the fun, Our favor- 
ite tools are those that are complex in 
ability yet simple to operate. They ac- 
complish easily in seconds what 
would take us hours to do by hand. 
Their beauty and elegance lie in their 
ability to liberate us from time-consum- 
ing tasks. Just as a circular saw, a 
drill, and a belt sander are basic pow- 
er tools of carpentry, a sprite editor, an 
assembler, and now SID Master are ba- 
sic power tools of programming. 

DAVID AND ROBIN MINNICK 


Commodore 64 or 128—$7 


INDY SOFTWARE 
9725 Alexander Ln. 
Fishers, IN 46038 
(317) 842-2117 


Circle Reader Service Number 343 a] 
-—— 


CORRECTION 


In the August issue, we published a 
review of S.E.C. Check Register 128. 
The version that was sent to our re- 
viewer apparently was an early edi- 
tion of the program. A spokesman 
from Sparks Electronics informs us 
that the current version has been up- 
graded and improved. New features 
have been added and earlier prob- 
lems have been addressed. The 
price for the new version is $24.95 
plus $3.00 shipping and handling, 
and the new address is Sparks Elec- 
tronics, 5316 South Ninth Street, St. 
Joseph, Missouri 64504. 


COMMODORE CLIPS 


News, notes, and new products 


Messiah Is Coming 

Messiah Ill: Nemesis (about $59) is a 
vast role-playing game for the 64/128 
that should be available for Christmas. 
The game has more than one meg of 
code stuffed on three double-sided 
disks. Artists and programmers at Mad 
Man Software (7610 West Fifth Street, 
Suite 200, Lakewood, Colorado) have 
spent more than two years completing 
this project. 


Messiah III features more than 300 scenes, 
50 maps, and intelligent monsters. 


Note that Messiah III is R-rated. It 
has violence, nudity, and adult situa- 
tions. It's also a tough game to com- 
plete, designed for high-school intellec- 
tuals and up who have role-playing 
experience. Mad Man Software's Artifi- 
cial Monster Intelligence System 
makes each monster fight in its own 
unique style. The Mad Man program- 
mers claim that these are the smartest 
monsters that you've ever faced in a 
role-playing game. 


CQ Computer Hams 

Here's a useful product for 64/128 own- 
ers who are also ham radio operators. 
They can connect their computers to 
VHF hand-held or HF SSB transceivers 
and communicate via packet radio. 
MFJ Enterprises (P.O. Box 494, Missis- 
sippi State, Mississippi 39762; 800-647- 
5869) announces a fast, easy, and in- 
expensive way for hams to join the 
packet action. 

The MFJ-1271 ($49.95) modem 
plugs into your 64/128's cassette port 
and works both VHF packet at 1200 
bps and HF packet at 300 bps. An ad- 
justable threshold control helps reduce 
noise susceptibility to increase contact 
success. An LED is also included to let 
you know when you're receiving sig- 
nals properly. 

The MFJ-1271 also sports remote 
packet operation, mailboxlike message 
forwarding, and Net/ROM emulation, 
plus much more. It works with MFu’s 
Digicom/64 public domain software. 


i> GRAFIX GALORE 


(S27 Original Printshop Graphics), 
Over 80 super graphics to add sparkle to your Printshop projects! Everything from 
sports to spys and pirates to pizza. 
Send $11.95 (ine. s/h) add $3 if outside N. America, Specify C-64 or IBM version. 
— REQUIRES PRINTSHOP OR GRAPHICS COMPATIBLE PROG. — 
C-64 CLIP ART CUPBOARD 
P. O. BOX 317774 * CINCINNATI, OH 45231 


C-64 Program: "DRAW-PRINT IN COLOR" 
FOR STAR NX1000C RAINBOW PRINTER 
DRAW AND PRINT YOUR GRAPHICS OR PICTURES IN COLOR 
DRAW: Full 320x200 pixel high res. bit map screen « Key press and/or 1351 Mouse crayon control 
On screen crayon coordinates for precision « Vertical and horizontal mirror Imaging, re-coloring 
PRINT; 4"x2.75" or 8"x5.5" screen dumps In color - No Interfaces needed 
FUN TO USE - MANY HOURS OF CREATIVE SATISFACTION 
$14.00 check or money order to: 


G.P. Software, Box 571, West Long Branch, NJ 07764 


SEC CHECK REGISTER 128 


Manages personal or small business checking in a fast/efficient manner. Fast data entry, 
many bank transactions predefined. Unlimited recurring payees. Up to 750 active file 
transactions. History files allow an on going record. Up to 999 reference (account) 
numbers, Easy editing with many powerful commands. Reports printed by, Outstanding 
Transaction, Transaction, Reference Number, Reference Number & Date, Date, Date & 
Random Reference Number, or Payee. Print any type of personal or form feed check. 
Supports all 15XX and Hard Drives. Compatible with all currently available DOS cartridges 
and ROM chips. Custom video fonts. Spiral bound lay flat manual and much more. System 
requirements: C=128 with 80 column RGB or Mono. monitor, FREE with each order SEC 
Financial Calc, 128 TO ORDER: Send Check or Money Order for $24.95 + $3.00 S&H to: 
SPARKS ELECTRONICS, 5316 So. 9th, St. Joseph, MO 64504-1802 


Circle Reader Service Number 252 


Big Bucks 

Everyone loves cash, and the bigger, 
the better. With this in mind, Banner 
Band (533 North Wolf Road, Wheeling, 
llinois 60090; 800-333-0549) has cre- 
ated Banner Cash ($14.95). Banner 
Cash is computer paper that looks like 


ONLY 
ON DISK 


Here's the bonus program that you'll 
find only on Gazette Disk. 


DOC BLOCK 
By Kathleen Hobby 
Evansville, IN 


Use this handy block access pro- 
gram to read and edit the contents 
of any block on any 1541 or 1571 
disk. 


Order the October Gazette Disk. 
The price is $9.95 plus $2.00 ship- 
ping and handling. Write to Gazette 
Disk, COMPUTE Publications, 324 
West Wendover Avenue, Suite 200, 
Greensboro, North Carolina 27408. 


a giant ten-dollar bill. Retail store own- 
ers can use Banner Cash to print sale 
banners. It also makes great birthday 
greetings. There are 245 Banner Cash 
dollars on each roll of paper. 

In addition to Banner Cash, Banner 
Band also has Lacey Flowers, comput- 
er paper with a floral motif woven into 
a pink lace background. 

Each roll is 45 feet long with no 
cross perforations. It comes in a self- 
feeding tray and is covered with a pro- 
tective outer sleeve. 


The Lay of the Land 
How would you like to view the topog- 
raphy of your hometown in 3-D? Digi- 
scape Software (P.O. Box 113058, Car- 
rollton, Texas 75001) has released a 
product that will let you see the topog- 
raphy not only of your area but of the 
entire United States—excluding Alaska 
and Hawaii—and parts of Canada. 
Digital Landscape ($58) contains 
more than 400,000 elevations taken at 
regular intervals across the continent. 
The distance between intervals is ap- 
proximately three miles, depending on 
selected latitude. The 3-D renderings 
on each of the 15 data disks may be ro- 
tated 360 degrees in 1-degree incre- 
ments of azimuth and tilted up to 89 de- 
grees in declination. o 


OCTOBER 1992 COMPUTE G-13 


G-14 


Commodore 8-bit 
computers will 
survive longer in 
Germany than 
anywhere else. 


WORLD VIEW 


Anders Reutersward 


VIEW FROM 
GERMANY 


Here is Europe calling again, 
with an extensive report from 
the Commodore scene in Ger- 
many, Since we don’t yet 
have a German correspon- 
dent, I'll try to describe the 
Commodore situation from my 
viewpoint north of the border 
in Sweden. 

| base my evaluation on 
what | gather from reading Ger- 
man computer magazines 
and the bulletin of Germany's 
popular GEOS Users Club 
(GUC), to which | belong. 

Germany has always been 
the center of Commodore ac- 
tivity in Europe. Maybe Commo- 
dore fans in Britain will dispute 
my opinion, but no other Eu- 
ropean country has produced 
as much hardware and profes- 
sional software for the 64 and 
128 as has Germany. Also, al- 
most all Commodore ma- 
chines sold in Europe during 
the past few years have been 
assembled at Commodore fac- 
tories in Germany. 

It's only when it comes to 
games that the British Isles 
have been more productive 
than Germany, thanks in part 
to their close contacts with the 
large U.S. market. Also, most 
Germans aren't proficient in 
languages other than their 
own, making them dependent 
on domestic software or titles 
that have been translated. 

One good example of this is 
GEOS, a software package 
that has reached high sales 
and a very high level of usage 
in Germany. This is mainly be- 
cause the importer has taken 
the time to translate the entire 
GEOS line, software and man- 
uals, into German. 

The driving agent behind 
GEOS and Commodore activ- 
ity in Germany is Markt & Tech- 
nik. This company produces a 
large range of quality software 
and books, imports GEOS prod- 


COMPUTE OCTOBER 1992 


ucts, and publishes a Commo- 
dore magazine called 64’er. 

Even with the worldwide de- 
cline of the 8-bit machines, 
this monthly magazine still 
goes strong. Every issue is 
packed with articles, hard- 
ware and software reviews, 
construction projects, repair in- 
structions, and type-in pro- 
grams for the 64/128. 

One new phenomenon in 
Germany is the GUC. With 
over 2000 members, a month- 
ly bulletin, a large public do- 
main library, and its own qual- 
ity GEOS software, this club 
has quickly become a power 
on the Commodore scene. Un- 
fortunately, this climb to the 
top hasn't been without clash- 
es and controversies with the 
established market domina- 
tors, mainly Markt & Technik. 

For fans elsewhere, GEOS 
products are available from 
the GUC at reasonable prices. 
How about GEOS on an 
EPROM? It boots instantly 
when you turn on the comput- 
er. TopDesk is an entirely new 
desktop that displays the con- 
tents of up to four drives at the 
same time. RamPrint is a print- 
er routine that uses an REU as 
a printer buffer, leaving the 
computer free for other tasks 
while the printer trundles 
along. There’s even more in 
the club’s GEOS pipeline. If 
you're interested in learning 
about this group, drop a line 
to GEOS Users Club, Jurgen 
Heinisch, Xantener Strasse 
40, D-4270 Dorsten 19 
Rhade, Germany. He'll send 
you information about GUC 
membership. 

There are still a lot of Ger- 
man mail-order firms catering 
to Commodore users. You can 
see many of their advertise- 
ments if you skim through the 
pages of computer maga- 
zines. There are word proces- 
sors, database programs, 
CAD programs, paint pro- 
grams, assemblers, terminal 
software, desktop publishing 


programs, and games—all in 
the German language. 

Perhaps true to their heri- 
tage, the Germans seem to 
specialize in hardware. 
Peripherals of all imaginable 
and some unimaginable kinds 
are available. Another quick 
look through computer maga- 
zines reveals advertisements 
for video digitizers, scanners 
(among them Handyscanner, 
which recently turned up on 
the U.S. market [COMPUTE, 
December 1990]), Prestel de- 
coders, printer ribbon reink- 
ers, MIDI interfaces, realtime 
clocks, satellite pay-TV decod- 
ers, printer interfaces, RS-232 
interfaces, drive turbos, 
EPROM burners and cards, 
memory expansion units, car- 
tridges, user port expanders, 
and more. 

The list is long. The prod- 
ucts are all for use with the 64 
or 128, and they're all of do- 
mestic origin. Imported prod- 
ucts such as Hard Drive and 
RAMLink from Creative Micro 
Design are available, but at 
much higher prices. 

Regretfully, | don’t have fig- 
ures regarding the number of 
computers in Germany, but 
Amigas are taking over the mar- 
ket there as well as every- 
where else in Europe. The 
rate of 8-bit decline, however, 
seems to be slower than it is 
in the U.S. 

One reason for this is the re- 
cent merger of East and West 
Germany. That merger re- 
leased a flood of computer- 
deprived East Germans onto 
the market. Their somewhat lim- 
ited cash resources make 
used 64s and 128s perfect 
first computers. These new buy- 
ers should also help keep de- 
mand strong for software and 
add-on hardware. 

| believe that Germany is a 
very fortunate country in this as- 
pect and that the Commodore 
8-bit computers will survive 
longer in that country than any- 
where else. o 


021MU 


019GR 
019ED 
062ED 
033ED 
031ED 
010UT 
119GA 
022GA 
021GE 
002MS 
003MS 


Choose 6 for $5.00 
LIMITED OFFER 


KILLER: 


LUNG 
DISEASE 


C.O.D. orders call: 
AMERICAN _ Os . Dp) 
LUN! iuperior Micro Systems, Inc, _ < 
ASSOCIATION® Does Your Heart Good. as ISN. Ose, (a>, 


® The Christmas Seal People ® 


DISKS O'PLENTY INC 
7958 PINES BLVD. SUITE 270A 
PEMBROKE PINES FL 33024 
(305) 963-7750 


Call or write for free descriptive catalog of 
C64/128 Public Domain & Shareware 
Choose from over 900 Disks 
Adult list of over 50 Disks available 
to those 18 or over. 


Circle Reader Service Number 253 


2. 
@P American Heart Association 


Can Your 
Computer Make 
you 


. 
35°$1,000,0007 


WITH LOTTERY PC YOUR NEXT TICKET 
COULD BE WORTH MILLIONS! 


LOTTERY uses the raw power and storage of your 
computer to determine and refine the number selection 
methods that will win the various lottery games y 
play. Don't be limited to the one or two methods 
other Programs use, they might not work in your Sale 
There is no better system available! 


Join the growing list of winners using our system. 


a 


SID MUSIC UTILITIES 

PRINTSHOP UTILITIES 
JR HIGH EDUCATION 
HIGH SCHOOL EDUC. 


TYPING / SPANISH SPECIFY: 
COMPUTER SCIENCE Lottery 64(C64/128) 
Lottery PC 


PIRATES TOOLBOX 
FOREIGN ARCADE 
CASINO-BOARD GAMES| 
GEOS FONTS 

LOTTERY PROGRAMS 
COLLECTORS CORNER 


IBM PC/XT/AT and compatibles 


Commodore64/128 & Plus/4 are registered 
trademarks of Commodore Int 
IBM PC/XT/AT are registered trademarks of 
International Business Machines Inc 


To order, send $29.95 for each plus $3.00 postage & 
handling per order to 

(Illinois residents add 6% sales tax) 

(Grders outside North America add $3.00) 


oo = 


Space contributed by the publisher as a public service. 


COMPUTE’s 


Circle Reader Service Number 221 


SpeedScript Disk 


A powerful word processing 
package for Commodore 64 
and 128 owners 


A Great Deal for Commodore 
Users! 


* SpeedScript for the 64 

° SpeedScript 128—80-column version 
* Spelling checkers 

° Mail merge 

* Date-and-time stamp 

* 80-column preview for the 64 

* Turbo save and load 


* Plus more than a dozen other SpeedScript 
support utilities all on one disk (including 
full documentation) 


Ives! Send me _______ copies of COMPUTE’s 
| SpeedScript Disk. 
| I've enclosed $11.95 plus $2.00 postage and handling. (Outside 


U.S. and Canada add $1.00 for surface mail or $3.00 for 
| airmail.) 


| ORDER NOW! 


Amount 
Sales Tax* 


Total 


Address 


State 


Commodore SpeedScript Disk 
324 W. Wendover Ave., Ste. 200 
Greensboro, NC 27408 


Residents of North Carolina and New York, add appropriate tax for your area. Canadian 


orders, add 7: 


% good and services tax 


Please allow 4-6 weeks for delivery. Program available only on 5%-inch disks 


| Mail personal check or money order to 
i 


G-15 


Questions and 
answers 

about typewriter 
emulations, 


double-spaced listings, 


G-16 


FEEDBACK 


Bug-Swatter 

Several readers wrote to com- 
plain about F/X Plot 128 
(June 1992). The problem oc- 
curs when line 920 directs the 
program to a nonexistent line 
170. The mistake was a renum- 
bering error on our part. Line 
920 should read as follows. 


920 ON GK GOTO 930, 1450, 110, 
990 


Typewriter Emulator 

Has anyone ever come up 
with a program that would con- 
vert a 64 and a printer into a 
typewriter? This would be 
nice for filling in blanks on 
printed forms. 


STEPHEN LUISSER 
NORTHAMPTON, PA 


Here's a program that might 
work if your printer doesn't 
have a buffer. 


10 OPEN 4,4,7 
20 GET A$: IF A$ = ““” THEN 20 
30 PRINT#$,A$;: GOTO 20 


Most printers with buffers, how- 
ever, save characters sent to 
them until they receive a car- 
riage return. In this case, 
you'd be typing blindly until 
you hit Return, and then al let- 
ters would print at once. 

If this program doesn't 
work as you'd like it to, try 
changing line 20. 


20 INPUT A$ 


As you type, you'll see charac- 
ters on the screen; press Re- 
turn and the line will print. It's 
not exactly like a typewriter; 
you may have problems mov- 
ing the printhead the proper 
number of spaces when filling 
in blanks. 


Double-Spacing 

Is there some way | can get a 
program listing to print double- 
spaced? It would be a break 
for my poor old eyes when it 
comes to debugging, but | 


COMPUTE OCTOBER 1992 


hate to fiddle with my printer's 
DIP switches. 


G.W. BLACK 
ATLANTA, GA 


Here's a way you can do it 
with a program command. 
Load your program into mem- 
ory, but when you enter the 
commands to produce a print- 
out of the listing, use a file 
number greater than 127. 
Here's an example. Enter the 
first line and press Return to 
start the listing. Enter the sec- 
ond line to close the file. 


OPEN200,4:CMD200:LIST 
PRINT#200:CLOSE200 


Programs Within Programs 
| have trouble loading pro- 
grams from within another pro- 
gram. For example, I'll make 
a menu, it loads a program, 
and then there's an error. | 
used the clear command at 
the end of the menu, and that 
didn't work. Please help! 


MICHAEL V. MAY 
MT. PERRY, OH 


Using BASIC for loading ei- 
ther another BASIC or ma- 
chine code file is called chain- 
ing. To chain, your program 
must enter a LOAD command 
with the ,8 or ,8,1 extension 
just as if you'd entered it in di- 
rect mode. Within BASIC, how- 
ever, the interpreter has a 
pointer that tells the 64 where 
to continue processing the pro- 
gram after a command has 
been executed. The pointer is 
reset to the start of the pro- 
gram when a LOAD is execut- 
ed. This is actually a help 
when one BASIC program is 
loaded from another, since 
the new program overwrites 
the old and you want the new 
one to start running at the 
first line. When you want to 
load a machine language pro- 
gram, however, you run into a 
problem if you simply enter 
something like the code in the 
next two lines. 


10 LOAD ‘‘MACHINE CODE” ,8,1 
20 REM THE REST OF THE BASIC 
PROGRAM FROM HERE 


This results in an endless 
loop as the pointer is reset 
and the file named MACHINE 
CODE is loaded over and 
over again. 

The solution is to set a flag 
that tells your program that it 
has already completed the 
loading and to continue run- 
ning. Here's how the program 
above should look. 


10 IF FL=0 THEN FL=255:LOAD 
“MACHINE CODE",8,1 

20 REM THE REST OF THE BASIC 
PROGRAM GOES HERE 


The flag, in this case, is held 
in the variable FL. When the 
program is first run, all possi- 
ble numeric variables have a 
default value of 0. When we 
test whether or not FL is O 
initially, the condition is true. 
Because it's true, the line con- 
tinues to process by setting 
FL to a value of 255 and load- 
ing the machine code file. 
(Any number other than 0 will 
work except in the case of a 
bad memory register, a rare 
event.) Now, when the pointer 
is reset and the condition is 
tested again, it's no longer 
true and processing contin- 
ues on the next line. 


Null Modems 

| want to transfer some docu- 
ments that | wrote on my 64 
to my IBM computer. | know 
that | can upload them to a 
BBS and then download 
them to my IBM, but isn't 
there some way | can hook 
the two computers together 
without going through a third 
one by telephone? 


WAYNE PALMER 
CHICAGO, IL 


Last month in a similar ques- 
tion we mentioned that some 
conversion is necessary to 
make the Commoaore files 


compatible with the character 
set of the receiving IBM com- 
puter. The 64 uses a nonstan- 
dard set of characters called 
PET-ASCII or PETSCII and 
the IBM uses the standard AS- 
Cll character set. (For more 
information about PETSCII, 
see the reply below to Frank 
Chang.) 

For the 64, there are sever- 
al conversion programs that 
will let you convert PETSCII to 
ASCII or ASCII to PETSCII. 
Some commercial word proc- 
essors include a conversion 
program. Convert, for exam- 
ple, is one that comes with 
Word Writer. Check your local 
Commodore user group, bul- 
letin board system, or nation- 
al online services for a public 
domain conversion program. 

The serial port on the back 
of the 64 is almost, but not 
quite, a standard RS-232 
port; the only difference is the 
Commodore's voltage level. 
You can convert it by plug- 
ging in an RS-232 adapter, 
which is available from vari- 
ous suppliers. 

Next, you'll need some- 
thing called a null modem ca- 
ble. This is just a simple cable 
that fools computers into think- 
ing that they're linked by mo- 
dem over a telephone line. A 
couple of the cable's wires 
are crossed so that an input 
line on one side is an output 
line on the other. One end 
plugs into the RS-232 adapter 
on the 64, and the other end 
plugs into the IBM's serial 
port. Null modem cables are 
available from several manu- 
facturers, including The Grape- 
vine Group, 3 Chestnut 
Street, Suffern, New York 
10901; (800) 292-7445. 

Finally, each compuier will 
have to be running its own ter- 
minal software. The software 
must be set up to recognize a 
modem plugged into the seri- 
al port. Of course, there won't 
really be any modem at- 
tached, only the null modem 


cable. Have the IBM request 
a download and then have 
the 64 upload the file. Also, 
be sure that the terminal pro- 
grams are set for the same 
sending rates and other tele- 
communications parameters. 


Commodore’s ASCII 
Just what is PET ASCII? 


FRANK CHANG 
RIDGEWOOD, NY 


ASCII stands for the Ameri- 
can Standard Code for Infor- 
mation Interchange. As the 
name suggests, it’s a stan- 
dard way of assigning comput- 
er character sets to specific 
values, 65 for the letter A, 66 
for the letter B, and so on. It's 
often used with word proces- 
sors when saving text to disk 
and for transmitting text from 
one computer to another. 

Commodore devised its 
own number-to-character sys- 
tem when it released its origi- 
nal PET series of computers, 
hence the PET ASCII or PET- 
SCIl name. It is similar to AS- 
Cll, but there are differences. 
The most obvious difference 
is that uppercase letters in 
PETSCII print in lowercase in 
ASCII, and vice versa. 

The 8-bit Commodore ma- 
chines derive their character 
set from a time when ASCII 
wasn't the de facto standard 
that it is today and the big 
players took no pride in being 
compatible. Consequently, 
from the point of view of more 
modern machines, including 
the Amiga, the 8-bit Commo- 
dores not only confuse upper- 
and lowercase, but they ne- 
glect entirely such characters 
as the brace and underscore. 

There's no problem when 
you are swapping sequential 
files with someone who owns 
another 8-bit Commodore, 
and modems do a good job 
of translating when you call 4 
BBS that's running on an IBM. 
The problem becomes appar- 
ent when you download an AS- 


Cll sequential file from an 
IBM and try to read it with a 
Commodore word processor 
or sequential file reader. If 
you get a file whose upper- 
and lowercase letters appear 
to be reversed, that's usually 
the reason. There are conver- 
sion programs available that 
translate the characters, ena- 
bling word processors to han- 
dle the text correctly. 

Word processors such as 
SpeedScript add more com- 
plexity to the situation by us- 
ing their own special codes. In- 
stead of writing sequential 
files in ASCII or PETSCII, 
SpeedScript saves text as pro- 
gram files using Commodore 
screen codes, 

If you're sending a 
SpeedScript file to someone 
who needs a PETSCII or true 
ASCII sequential file, you can 
overcome this problem by 
printing your SpeedScript file 
to disk rather than saving it 
by pressing f8 as you normal- 
ly would. To print a file to 
disk, press Shift-Ctrl-P simulta- 
neously. You'll be asked if 
you want to print to screen, 
disk, or printer. Select D for 
disk, and you'll have a PET- 
SCII sequential file on disk. 

SpeedScript can also print 
files as true ASCII. On the 
first line of your document, 
press Ctrl-£ and then press A. 
This will print a lowercase re- 
versed A on your screen. 
This code will change your 
SpeedScript file to true ASCII 
when you print to disk. You 
can easily test for this by print- 
ing your file to the screen in- 
stead of to a disk. All the up- 
per- and lowercase letters will 
be reversed. 

Converting documents to 
true ASCII can be useful 
when you want to send a 
SpeedScript document via mo- 
dem to someone who has an 
IBM. The IBM user can then 
load your text into an ASCII- 
based word processor with- 
out additional converting. O 


Comments about 
running a 


program from within 


null modems, ASCII, 


and PETSCII 


OCTOBER 1992 COMPUTE 


G-17 


Here’s a look at 
some of the 

unique keys found 
only on 64 

and 128 keyboards. 


G-18 


BEGINNER BASIC 


Larry Cotton 


MORE KEYS, 
PLEASE 


Last month we learned about 
some keys unique to the 64. 
Let's examine some more. 

When the 64 is first turned 
on, the keyboard defaults to 
what is known as the upper- 
case/graphic character set 
mode. Normally, anything you 
type is in uppercase. Howev- 
er, most keys can generate 
graphic characters by holding 
the Shift or Commodore key 
while pressing them. 

Each keyboard character 
has a unique CHR$ code, 
which you can see by entering 
PRINT ASC(‘'X"), where X is 
the character itself. For in- 
stance, the ASCII code for J is 
74. The codes for the symbols 
produced when holding down 
the Shift or Commodore key 
with J are 202 and 181, respec- 
tively. Conversely, to print any 
character onscreen, enter 
PRINT CHR$(X) and then 
press Return, where X is the 
character's ASCII code. (Note 
that you don’t need the quota- 
tion marks in this case.) 

As you may have discov- 
ered by now, graphic charac- 
ters can be used to enhance 
the appearance of your BA- 
SIC program screens. Here's 
a short example: 


10: PRINTCHR$(147): REM CLEAR 
SCREEN 

20 POKE 53280, 5: POKE 53281, 1: 
REM SET BORDER AND BACK- 
GROUND COLORS 

30 POKE 646, 5: SET CURSOR 
COLOR 

40 V=8: H=15: GOSUB 1000 

50 PRINTCHRS$(213) 

60 V=8: FOR H=16 TO 22: GOSUB 
1000 

70 PRINTCHRS$(192): NEXT 

80 V=8: H=23: GOSUB 1000 

90 PRINTCHRS(201) 

100 FOR V=9 TO 11: H=15: 

GOSUB 1000 
110 PRINTCHRS(194): NEXT 
120 FOR V=9 TO 11: H=23: 


COMPUTE OCTOBER 1992 


GOSUB 1000 

130 PRINTCHRS(194): NEXT 

140 V=12: H=15: GOSUB 1000 

150 PRINTCHRS(202) 

160 V=12: FOR H=16 TO 22: 
GOSUB 1000 

170 PRINTCHRS(192): NEXT 

180 V=12: H=23: GOSUB 1000 

190 PRINTCHRS$(203) 

200 V=10: H=17: GOSUB 1000 

210 PRINT TITLE” 

999 GOTO 999 

1000 POKE 214, V: PRINT: POKE 
211, H: RETURN 

1001 REM VERTICAL AND HORI- 
ZONTAL CURSOR POSITIONS 


The numbers 214 and 211 in 
line 1000 are the memory reg- 
isters that control cursor posi- 
tion. Admittedly, this tech- 
nique creates a longer pro- 
gram, but | prefer it because 
it's precise and much easier 
to type in. Most programs can 
be shortened by printing the 
graphic characters them- 
selves, but typing in such a 
program can be tedious. 

The keyboard can be 
switched to the uppercase/ 
lowercase character set by 
pressing the Commodore and 
Shift keys simultaneously. 
This allows the use of upper- 
and lowercase in text, but un- 
fortunately, it prohibits print- 
ing graphic characters on the 
same screen. Switching be- 
tween character sets can be 
accomplished with PRINT 
CHR$(14) (uppercase/lower- 
case) or PRINT CHR$(142) 
(uppercase/graphic). 

Some of the other keys pe- 
culiar to the 64 are the Clr/ 
Home, Inst/Del, Run/Stop, 
Ctrl, Commodore, and Re- 
store keys. Let's look at each. 

The Clr/Home key, as |’m 
sure you have by now discov- 
ered, has a dual purpose: Un- 
shifted, it brings the cursor 
home—to the upper left cor- 
ner of the screen; shifted, it 
clears the screen completely. 
Clr and Home CHR$ codes 
are 147 and 19, respectively. 

The Inst/Del key is used to 


insert and delete characters. 
However, when entering BA- 
SIC programs, it's easy to be 
caught in what's known as 
the quote mode. This is 
where every inserted key- 
stroke produces an arcane 
graphic symbol. The easiest 
way to escape this mode is to 
press a shifted Return. 

The CHR$ codes for Inst 
and Del are 148 and 20, re- 
spectively. These are useful 
to know when looking for spe- 
cific characters to be entered. 

The Run/Stop key is usual- 
ly used (unshifted) to stop a 
BASIC program. Shifted, it's 
used to start loading a pro- 
gram from tape. The CHR$ 
code for Stop is 3. Sensing a 
shifted Run/Stop key requires 
peeking at memory locations 
197 and 653, as mentioned 
last month : 

The Ctrl key's most useful 
function is to slow down a BA- 
SIC program listing. Use it 
with a number key to select 
one of eight cursor colors. As 
with other keys, it can be pro- 
grammed to do other things. 
In SpeedScript 3.2, for in- 
stance, the Ctrl key is used 
with the E to erase words, sen- 
tences, and paragraphs. 

The Commodore key's 
main two default functions are 
switching between keyboard 
character sets (with the Shift 
key) and selecting eight addi- 
tional cursor colors (with the 
number keys). 

The Shift, Ctrl, and Commo- 
dore keys don't have ASCII 
codes. To prove it, try PRINT 
ASC("'X"), where X is one of 
those keys. They can be 
sensed, however, as pointed 
out last month, by peeking at 
memory register 653. 

Finally, we come to the Re- 
store key. This is probably the 
most abused key on the 64. 
It's used with the Run/Stop 
key to restore the computer to 
its standard condition. It's de- 
signed to be struck, rather 
than just pressed. o 


HELP PREVENT 
HEART ATTACK 
WITH A + 


—s 


Any type of aerobic exercise 
program can help reduce your 
risk of heart attack and stroke. 
The only hard part is diving 
in. To learn more, contact the 
American Heart Association, 
7272 Greenville Avenue, Box 
47, Dallas, TX 75231-4596. 

You can help prevent heart 
disease and stroke. We can 
tell you how. 


American Heart 
Association 


This space provided as a public service. 
© 1992, American Heart Association 


NUCLEAR SUB 
COMMAND 


Realistic: Nuclear Attack Sub Simulation 


Requires C64 GEOS a or 2.0. > We CQ) 
$19.95 Check or Money Order 

VMC Software PO Box 326 

Cambria Hts. NY 11411 


Circle Reader Service Number 171 


Upgrade your Commodore system 
Refurbished Hardware New APROTEK modems 

MONITORS DRIVES OTHER 64/128/AMIGA-2400 BAUD - $119 
1701 -$235 1541-$100 1660-$30 64/128/AMIGA-1 200 BAUD - $89. 
1702-$255 1541-I1-$120 1670-$50 APROSAND-4 SLOT CARTRIDGE 
1801 -$265 1571-S165 C64 -$100 EXPANDER FORTHE 64/128 - $40 
1802-$285 1571-Il- $185 64C-$120 New CMD accessorles 
1901-$295 1581-$180 C128-$175 JIFFYDOS 64/128 & ANYDRIVE "SYSTEM" - $85 
1902-$305 1001SFD-$150 C128D-$225 128D/ANY DRIVE SYSTEM" - $95 
1084s-$325 1530 DATASETTE-$35 ADDITIONAL DRIVE ROMS - $45 
MANY BOOKS - $10 ‘SOFTWARE - $10-20 RAMLINK/RAMCARD C/W BATTERY (OMb)- $345, 

ASK FOR ANYTHING, | MIGHT HAVEITI 1Mb RAMSIMM - $75 4Mb RAM SIMM - $250 
J.P.PBM PRODUCTS BY MAIL SHIPPINGINCLUDEDFORCANADA, USA+15% 

P.O. BOX #1233, STATIONB 15 DAY WARRANTY ON REFURBISHED GOODS 

WESTON, ONTARIO, M9L2R9 TAX-Canada+7% GST, OntarioRes. +8% PST 


Commopore_e 64 PusB_ic DomAIN 


Highest Quality Since 1987* 
Games, Education, Business, Utilities, GEOS, Music, Graphics & 
More. As low as 90¢ per collection. 1 stamp for complete catalog 
or $2.00 for catalog AND 30 sample programs (refundable). 
24 hour shipping. 

64 DISK CONNECTION 


4291 Holland Rd., Suite 562 - Virginia Beach, VA 23452 
(* Formerly RVH Publications) 


Circle Reader Service Number 254 


Commodore Accessories & Necessities 


Ribbons! M3 Mouse 

MPS 801 - 802 - 803 - 1525 - 1526 - 1000 - Modems Visa 
1200 - 1230 - 1250 Joysticks MC or 
Commodore Printer (Comm. & PC Comp.) Icon Controller UPS 
C 64 C Computer * 1541-1 Disk Drive Cables CoD 


1802 Monitor Power Supply 


SOFTWARE: Educational - Productive - Fun - Commodore-Amiga Authorized 
Dealer & Service Center - 24-Hour Turnaround on Repairs - CALL for PRICING 


= ELECTRO-TECH ELECTRONICS eo 
— 677 East Main Street + Ventura,CA93001 + 805-648-5417 ; 


Circle Reader Service Number 148 


Calc il makes your math work a breeze 


= whether it's a mortgage calculation, 
budgeting, orkeeping sports statistics. 
(Or use it for your non-math chores fixe 
organizing phone numbers or making 
shopping fst! 
* Uses Commodore math routines for 


The Fastest power and speed * gets results twice 
as fast as Competito’s © deal for 


Spreadsheet databases - sort by row or cohrmn * 
ft h View lots of information fast with up to 
for the four confgurable windows, row and 
column locking * Quick, responsive 
Commodore 64 Sireaing = independently schestable 
decimal places, width and positioning 


of data * Uppercase, lowercase and 
Commodore graphics all available * Bar 
graphs on-screen with text * Over two 
dozen functions, including LOOKUP, 
AVG, IF, BND, SIN & FIX * 240 rolvs by 
240 colurms * Easy to remember com- 
mands * Uses disk or tape * Simple 
worksheet setup + Easy text entry, 

The Package includes a detailed User's 
Guide and disk with Calc I, two utility 
programs and over 40 easy to use 
worksheets. Write for free information or 


PANKHURST PROGRAMMING Dept. « Box 49135 » Montreal * Quebec * Canad2 * HIN 3T6 


Circle Reader Service Number 152 


Here’s a way to use 


a fake BASIC 


program to read a 


G-20 


disk’s directory. 


MACHINE LANGUAGE 


Jim Butterfield 


DIRECTORIES 


Programming to read a disk di- 
rectory isn’t trivial. You must 
go through a careful se- 
quence of steps. 

There are two approaches: 
read a fake BASIC program or 
read disk data in binary. Fake 
BASIC is invoked by opening 
with a filename such as $0 
and using secondary address 
0. That's the option we'll take; 
it's simpler and more flexible. 

You know that LOAD “$0",.8 
will load a directory and LIST 
will display it. The LOAD com- 
mand brings in a fake BASIC 
program, complete with pseu- 
do line numbers, showing the 
size of each file. Instead of 
LOAD, we may open the file 
and use GET to pull in direc- 
tory bytes one at a time. But 
we must know how to unscram- 
ble this programlike structure. 

In a BASIC program—even 
the fake one used for directo- 
ries—the first two bytes are 
the load address in binary. 
Then come the program lines. 

Each line consists of a two- 
byte link, followed by a two- 
byte binary line number; 
these four bytes are followed 
by a string of characters termi- 
nated with a binary 0 charac- 
ter. When we read the direc- 
tory, we check the link for 0, 
which will signal the end of the 
file. We save the line number, 
since it represents the file size 
in blocks, and scan through 
the remaining text. This text is 
not all filename; there may be 
leading spaces, quotation 
marks, and file type designa- 
tions such as PRG or SEQ. 

After putting the machine 
language code into memory, 
the BASIC program opens the 
file. Note that it uses a secon- 
dary address of 0. If desired, 
we can use pattern matching 
in the filename; for example, 
OPEN 1,8,0,"$0:B*" would de- 
liver only those filenames that 
begin with the letter B. 

The job of reading the direc- 


COMPUTE OCTOBER 1992 


tory is done in the machine lan- 
guage program. First, it con- 
nects to the file; then it throws 
away the first two load bytes. 


2000 LDX #$01 
JSR SFFC6 
JSR $FFE4 
JSR $FFE4 


Next, the program starts its 
main loop, which reads each 
directory line. The first two 
link bytes are tested for 0, 
then discarded. 


200B JSR $FFE4 
STA $2100 
JSR SFFE4 
ORA $2100 
BEQ $2057 


The next two bytes are the 
pseudo line number that rep- 
resent the file size. We bring 
this in and store the two 
bytes. You'll often want to 
make use of this file size val- 
ue; this program stores it but 
doesn't use it. 


2019 JSR $FFE4 
STA $2101 
JSR SFFE4 
STA $2102 


The remainder of the line con- 
tains text. We'll read this into 
memory, watching for the bina- 
ry O that signals the end of 
the line. 


LDX 
2027 STX 
JSR 
LDX 
STA 
TAY 
BEQ 
INX 
BNE 


#$00 
$2100 
SFFE4 
$2100 
$2200,X 


$2039 
$2027 


After receiving the line, we'll 
deliver it to the screen. It 
hasn't been neatly parsed for 
spaces or quotation marks, 
so it might look a little 
ragged. But you'll be able to 
see how the directory is read. 


Before printing the line, we'll 
disconnect momentarily from 
the input channel. 


2039 JSR 
LDX 
203E LDA 
JSR 
INX 
CPX 
BCC 


SFFCC 
#$00 
$2200,X 
$FFD2 


$2100 
$203E 


A final return is printed, and 
then the program reconnects 
the input stream and goes 
back to do another line. 


204A LDA #$0D 
JSR $FFD2 
; reconnect to the input 
stream 
LDX 
#$01 
JSR $FFC6 
JMP $200B 


When we're ready to quit, we 
just unhook the input channel 
and return to BASIC. 


2057 JSR $FFCC 
RTS 


Here's the program in BASIC. 


100 DATA 162,1,32,198, 255,32, 
228, 255, 32,228,255 

110 DATA 32,228,255,141,0,33, 
32,228,255,13,0,33,240,62 

120 DATA 32,228,255,141,1, 33, 
32,228,255,141 ,2,33,162,0 

130 DATA 142,0,33,32,228, 255, 
174,0,33,157,0,34,168, 
240,3,232,208,238 

140 DATA 32,204,255,162,0,189, 
0,34,32,210,255, 
232,236,0,33,144,244 

150 DATA 169,13,32,210,255,162, 
1,32,198,255,76,11, 
32,32,204,255,96 

200 FOR J=8192 TO 8282 

210 READ X 

220 T=1+X 

230 POKE J,X 

240 NEXT J 

250 IF T<>11245 THEN STOP 

300 OPEN 1,8,0,"$0” 

310 SYS 8192 

320 CLOSE 1 im) 


D'IVERSIONS 


Fred D'lgnazio 


MY DREAM 


The other night | awoke from 
a strange dream in which I'd 
been a computer program—a 
simulation. The authors of the 
program were monitoring the 
program and had just decided 
to terminate it, since it had out- 
lived its usefulness. At that mo- 
ment | woke up. 

“Whew!” | sighed silently, no- 
ticing the comforting dark pro- 
file of my wife sleeping next to 
me. “That sure was weird!” 

“What was weird?” came a 
small voice from inside my 
head. 

| looked around the silent 
bedroom. No one else was 
there—just my wife and |. Who 
could have spoken? 

“We're still watching you,” 
came the reply. 

“Who are you?" | whis- 
pered, casting a nervous 
glance at my sleeping wife. 

“No one special. We're just 
monitoring your program. It's 
about to be terminated, you 
know.” 

Now | was deeply fright- 
ened. What was going on? 
Was | awake or not? Was this 
just another dream within my 
first dream? 

“You're not really there,” | 
whispered. No reply. 

It was working, | continued, 
“You're just the product of a fe- 
verish mind. I've been sick re- 
cently, and you're just the res- 
idue of my fever." 

Still no reply. 

| glanced at the clock radio 
on the bedside table—3:00 
a.m. | figured it was OK for me 
to settle down again and try to 
get some sleep. | closed my 
eyes again. 

“We're still here.” 

| bolted out of bed. | sprint- 
ed for the bathroom door. 
Once inside, | shut the door 
and turned on the light. Star- 
ing back at me from the bath- 
room mirror was an extremely 
scared-looking face. | rushed 
to the toilet. No dream had ev- 


er survived this test! 

A few moments later, 
calmed and relieved, | 
switched off the bathroom 
light and returned to bed. | 
pulled the covers way up and 
fell almost instantly to sleep. 

The voice returned. “If you 
don't believe me," it said, 
“watch this." | then saw a re- 
play of parts of my life that | 
hadn't thought about in years. 
“It's all in the database,” the 
voice said. ‘We know every- 
thing about you because we 
created you. And we created 
everything around you, But it's 
all about to end.” 

“But I'm alive!” | silently 
screamed. “How can you ter- 
minate me if I'm alive?" 

“You only think you're 
alive,” said the voice. “We pro- 
grammed that feeling into you 
to make the simulation more in- 
teresting." 

“But what about my wife 
here beside me?” | said quiet- 
ly, gently nudging her sleep- 
ing form. Jeez, she sure 
seemed relaxed! She didn't 
have to be that relaxed, not 
with this drama being played 
out only inches away. 

“Just part of the program,” 
said the voice. 

“And my kids?” 

“Also the program,” 

“And this house? And our 
poor kitty who lived with us for 
20 years before she wandered 
away last November? And a la- 
dy named Margaret who 
raised my brothers and sister 
and me? And the mean kid on 
the playground in the sixth 
grade who pushed me down 
the hill in front of my friends? 
And my three-legged dog?” (| 
was running out of memories.) 

“The program.” 

Then | had an idea. “If all 
this is part of a program,” | rea- 
soned, “how come | have my 
own computer? In fact, how 
come | have a bunch of com- 
puters? Are they all part of the 
program, too?" | smirked in 
the darkness. 


“You got it,” said the voice. 
(Did | detect in that voice a 
faint trace of yet another 
smirk, mirroring my own?) 

“OK,” | whispered in de- 
spair. “You win. | am a pro- 
gram. My whole life is a pro- 
gram. My whole reality is a 
program. So when are you go- 
ing to terminate me? Right 
here? Right now?” 

“We're thinking about it,” 
said the voice. “But you're turn- 
ing out to have some unexpect- 
ed uses. We'll let you know.” 

“When?” | thought. “When? 
When? When?” 

| finally dozed off to sleep. 

The next morning my wife 
asked me how |’d slept—the 
way she'd done for the last 23 
years—and | just looked at 
her. How was | to tell her that 
| now had the notion that she 
was just a simulation, that | 
was just a simulation, and that 
our world was just someone's 
computer program? 

Every day | look around and 
touch objects, sniff them, hold 
them, taste them, enjoy them. 
Are they real? Or are they just 
bits and bytes, subroutines 
and macros, tiny little pieces 
of the program of my life? 

Is today the day I'll be ter- 
minated? Or tomorrow? Or not 
at all? Was it really just a 
dream? 

| speculate about the fu- 
ture. Will technology ever be- 
come so advanced that we'll 
be able to embed parts of our 
consciousness into our virtual 
media and create virtual 
selves—little Fred programs, 
leading blissful lives on a com- 
puter-simulated landscape, in- 
teracting with fellow simulated 
beings all living in a virtual 
world? 

Will these beings think 
they're real, too? Will they 
think they're alive? What hap- 
pens when it comes time to 
terminate them and try some- 


thing new? 
Do we tell them before we 
pull the plug? o 


OCTOBER 1992 COMPUTE 


If computer 
simulations mimic 
reality, how 

can we be sure that 
life itself isn’t 

just a subroutine 

in some vast 
complex simulation? 


G-21 


geoPaint utilities 


that artists will want 


G-22 


to add to their 
palette of tools. 


GEOS 


Steve Vander Ark 


DWEEZILS AND 
DRIVERS 


Dave Ferguson is an accom- 
plished GEOS programmer 
who has written several excel- 
lent utility programs for ge- 
oPaint. He's made them avail- 
able on his Dweezil Disks, and 
I'm sure geoArtists will want to 
add them to their palette of 
tools. Here’s a rundown of 
what the Dweezil Disks have 
to offer. In case you're curi- 
ous, Dweezil is Ferguson's 
dog, and the disks are availa- 
ble from Quincy Softworks, 
9479 East Whitmore Avenue, 
Hughson, California; 95326- 
9745. Write for a flier. 

| love NewTools and its new 
loolbox. When activated from 
he menu in geoPaint, New- 
Tools presents you with a 
large pointer that you use to 
designate a rectangular sec- 
tion of the bitmap. When you 
select a region, the cursor 
jumps automatically to the 
new toolbox (the regular tool- 
box is deactivated when New- 
Tools works its magic). 

From this toolbox you can 
perform a wide variety of 
strange but wonderful options. 
For example, one icon will 
slant your selected area up- 
ward at a 45-degree angle. An- 
other will curve it—something 
I've always wished | could do 
to text in geoPublish! 

NewTools also has a fea- 
ture to put the finished results 
in boldface, adding pixels to 
the image. This is often neces- 
sary since some angle options 
tend to stretch the pixels 
apart. NewTools2, which oper- 
ates in 64 or 128 mode, 40 or 
80 columns, can be found on 
Ferguson's Dweezil Disk 1. 

While geoPaint supports col- 
or, it's less of a hassle to work 
in monochrome. Besides, 
most users don’t have a color 
printer anyway. When you're 
working in monochrome 
mode, patterns take on a new 


COMPUTE OCTOBER 1992 


importance. With the paint- 
brush tool set for various 
widths and patterns, you can 
create with a slew of shadings 
and simulated tints and hues. 

UltiPatt and PattDA are two 
desk accessories that give 
you complete control over the 
patterns used in geoPaint. 
Each accessory includes a 
large selection of pattern sets 
that include some excellent 
gray scales. With UltiPatt, the 
sets are built right into the pro- 
gram; with PattDA, you load 
them from the disk in alterna- 
tive patterns. 

If you can’t find a pattern 
you want from the 50 or so 
sets that are provided, you 
can use UltiPatt to create new 
ones. You can combine exist- 
ing patterns, layering patterns 
on top of each other, or even 
use the program's random 
function to create new ones 
with the click of a button. Ulti- 
Patt and PattDA can be found 
on Dweezil Disk 2. 

Marker is one more little 
Dweezil disk utility that comes 
in handy with geoPaint. It's a 
desk accessory that replaces 
geoPaint's ineffectual ruler 
tool. Marker not only reads the 
offset position in inches and pix- 
els but also leaves a single- 
pixel mark when you press the 
M key. You'll find Marker on 
Dweezil Disk 1. 

You won't want to miss geo- 
Stamp or its big brother, Big- 
Stamp, if for no other reason 
than that they are so darn 
much fun. The difference be- 
tween the two programs is the 
size of the stamps they pro- 
duce. BigStamp makes a 
stamp four times as large as 
geoStamp's. Where do the 
stamps come from? Well, a 
number of collections are in- 
cluded with the disk, and 
there are a few on Quantum- 
Link. And with the included util- 
ities you can copy stamp- 
sized chunks of a geoPaint 
bitmap into a collection or edit 
stamp images of your own. 


The programs include a lot of 
well-thought-out commands, 
such as a key stroke to move 
the stamp one stamp width ex- 
actly in any direction, making 
borders a cinch. GeoStamp 
isn't on a Dweezil disk but is 
available separately from 
Quincy Softworks. 

As long as we're on the sub- 
ject of geoPaint programs, let 
me mention a few that are in 
Q-Link's library. A handy utili- 
ty called Mirror Mirror lets you 
flip a geoPaint page side to 
side, resulting in a mirror im- 
age of your page. To down- 
load it easily from Q-Link, re- 
quest MIRROR, uploaded by 
Red Storm. 

Printing a geoPaint docu- 
ment is fairly straightforward, 
but there are print utilities that 
offer you some options. If 
you'd like a poster of your geo- 
Paint or any GEOS page, try 
PosterPrint, a printer driver for 
Epson FX-80-compatible print- 
ers. PosterPrint enlarges the 
printout, turning one page in- 
to four. PosterPrint is available 
on Q-Link. Its filename is 
POSPRI3.0.SDA, and it was 
uploaded by Irv Cobb. 

Another print utility called Ro- 
tate Pages will take sections of 
a geoPaint page (perhaps con- 
verted from geoPublish via 
Paint Pages) and print them 
sideways. With a little planning 
you can create landscape- 
printed booklets using this pro- 
gram. You can find Rotate Pag- 
es on Q-Link as ROTPAGES, 
uploaded by Student 4th. 

If you want to get a gray- 
scale printout of a color ge- 
oPaint document, there are 
printer drivers on Q-Link that 
will do that for you. There are 
Epson versions for the 9-pin 
(EPSON9PINCOLOR) and 
24-pin (EPSON24PINCOLOR 
and EPSON24PINGREY). 
Okimate 20 users should look 
for OKIMATE20GREY. All of 
these were uploaded by Geo- 
Rep GHW, the wizard of the 
printer drivers. a 


The Gazette 
Productivity 9 
Manager <= 


(Formerly PowerPak) 


© 
Harness the productivity x 
power of your 64 or 128! 


Turn your Commodore into 

a powerful workhorse, keep track 
of finances, generate reports 
in a snap, manage your 
money in minutes— 

all with the new 1991 
Gazette Productivity 
Manager! Look at all 
your 64/128 Productivity 
Manager disk contains. 


ORDER YOUR 
1991 GAZETTE 
PRODUCTIVITY 
MANAGER 
TODAY! 


GemCalc 64 & 128— 

A complete, powerful, user- 

friendly spreadsheet with all 
the features you’d expect 
in an expensive commercial package 
(separate 64 and 128 versions are included). 
Most commands can be performed with a single keypress! 


Memo Card—Unleashes the power of a full-blown 
database without the fuss! Nothing’s easier—it’s a 
truly simple computerized address file. Just type in 
your data on any one of the index cards. Need to edit? 


Just use the standard Commodore editing keys. (MasterCard and Visa accepted on orders with subtotal over $20). 
Finished? Just save the data to floppy. What could be =p ns 
easier? | YES! Please send me __ Productivity Manager disk(s) 


($14.95 each), 

Subtotal 

Sales Tax (Residents of NC and NY please add appro- 
priate sales tax for your area. Canadian orders, add 
7% goods and services tax.) 

—— Shipping and Handling ($2.00 U.S. and Canada, $3.00 
surface mail, $5.00 airmail per disk.) 

Total Enclosed 

— Check or Money Order _ MasterCard _ VISA 


Financial Planner—Ansvwers all of those questions 
concerning interest, investments, and money manage- 
ment that financial analysts charge big bucks for! You 
can plan for your children’s education and know 
exactly how much it will cost and how much you need 
to save every month to reach your goal. Or, decide 
whether to buy or lease a new car. Use the compound 
interest and savings function to arrive at accurate 
estimates of how your money will work for you. 
Compute the answer at the click of a key! 


DON’T MISS OUT ON THIS 
POWERFUL WORKHORSE! 


Credit Card No, 


(Required) 
Daytime Telephone No. 


Name 


Address 


City 
State/ 21P/ 
Province Postal Code 


Send your order to Gazette 1991 Productivity Manager, 


I 
| 

\ 

\ 

I 

I 

| 

| 

I 

| 

\ 

I 

I 

1 signature 
| 

I 

I 

| 

\ 

I 

I 

| 324 W. Wendover Ave,, Ste. 200, Greensboro, NC 27408, 
| 

I 

i 


The SID chip gives 
the 64 the power 
to produce a world 
of earthly and 
unearthly sounds. 
Check these out. 


G-24 


PROGRAMMER'S PAGE 


Randy Thompson 


DID YOU 
HEAR THAT? 


Vince Tagle of Granada Hills, 
California, really outdid himself 
when he answered my chal- 
lenge to produce some wild 
sounds for the 64 and 128, My 
challenge ran in my April col- 
umn, and within a few weeks 
of the article's publication, Vin- 
ce fired off a letter listing 
some very strange-sounding 
programs. Here are just a few 
of the sounds (noises?) that Vin- 
ce sent in. A couple of them 
supply some interesting visu- 
al effects, as well. 


PROGRAM 1 


JX 166 FOR I=49152 TO 49258 

:READ- D:C=C+D:POKE I 

;D:NEXT 

IF C<>16497 THEN PRI 

NT “ERROR IN DATA ST 

ATEMENTS": STOP 

SYS 49152 

POKE 54278, 240:POKE 

{SPACE}54276,129:POK 

E 54273,34:POKE 5427 

2,75 

FOR I=1 TO 15:POKE 5 

4296,1:FOR J=1 TO 56 

:NEXT:NEXT 

FOR I=15 TO 1 STEP - 

1:POKE 54296,1:FOR J 

=1 TO 200:NEXT: NEXT 

SR 160 FOR I=l1 TO 606+INT(R 
ND (1) *1000) :NEXT 

KR 176 GOTO 136 

XB 186 DATA 120,169,35,162, 
192,141,26,3,142,21, 
3,169,1,141,18,208,1 
33,251,133,254 

XH 190 DATA 173,17,268,41,1 
27,141,17,208,169,12 
9,141,26,208,88,96,1 
73,25,208,141 

JB 266 DATA 25,208,48,7,173 
713,220,88,76,49,234 
166,251, 232,232,232 
232,232,232 

CM 216 DATA 232,232,142,18, 

208,134,251,228,254, 

268,4,230,251,236,25 

4,166,253 

DATA{2 SPACES}232,13 

8,41,15,170,134,253, 

189,91,192,141,22, 20 

8,76,188,254,200,201 

DATA 262,263,204,25 

206,207, 207,206,205 

1204, 203,202,201,206 


KX 116 


cp 126 
DA 130 


GK 140 


MP 150 


IX 226 


QR 230 


PROGRAM 2 

EX 106 FOR 1=49152 TO 49191 
:READ D:POKE I,D:NEX 
T:S¥S 49152 

HF 116 DATA 120,169,26,162, 


COMPUTE OCTOBER 1992 


192,141,20,3 

KG 1206 DATA 142,21,3,88,96, 
120,169, 234,162 

DATA 49,141,21,3,142 
125,3,88,96,32 

DATA 135,234,174,141 
12,224,1, 240,246 
DATA 76,49,234,0 


EF 136 
SR 146 


HP 150 


PROGRAM 3 


BP 100 FOR 1=49152 TO 49228 
:READ D:C=C+D:POKE I 
,D:NEXT 

IF C<>9456 THEN PRIN 
T "ERROR IN DATA STA 
TEMENTS": STOP 

SYS 49152 

DATA 120,169,43,162, 
192,141,20,3,142,21 
DATA 3,162,25,169,0, 
157,255,211, 202, 208 
DATA 250,169,63,141, 
5,212,169, 246,141,6 
DATA 212,169,17,141, 
4,212,169,15,141,24 
DATA 212,88,96,166,2 
03,224,64,248,18,169 
DATA 17,141,4,212,16 
5,211,105,14,141,1 
DATA 212,141,0,212,7 
6,49,234,169,16,141 
DATA 4,212,76,49,234 
123,212 

PRINT" (DOWN}PRESS AN 
Y KEY." 


Gs 110 


cP 120 
PX 130 


RF 146 
GP 150 
XF 166 
JD 176 
SJ 186 
XJ 196 
DD 206 
KB 300 


PROGRAM 4 


CC 16@ FOR 1=49152 TO 49236 
:READ D:C=C+D:POKE I 
;DINEXT 

IF C<>11843 THEN PRI 
NT "ERROR IN DATA ST 
ATEMENTS": STOP 

SYS 49152 

DATA 169,11,162,192, 
141,6,3,142,7/3 

DATA 96,16,36,36,15, 
48,32,201,255,240 
DATA 28,133,251,134, 
252,132,254,166,253, 
224 

QB 16@ DATA 5,240,7,169,5,1 
33,253,32,210,255 
DATA 165,251,166,252 
1164,254,76,36,167,1 
33 

DATA 251,134,252,132 
7254,166,253, 224,154 
1248 

DATA 7,169,154,133,2 
53,32,210,255,165,25 
1 


CH 110 


cP 126 
MG 136 


EB 146 


GP 156 


DG 176 
PQ 186 
DI 196 


PP 206 DATA 166,252,164,254 


,76,243,166,208,14 


PROGRAM 5 


RS 106 FOR 1=49152 TO 49266 
:READ D:C=C+D:POKE I 
,D:NEXT 

IF C<>13471 THEN PRI 
NT "ERROR IN DATA ST 
ATEMENTS":STOP 

POKE 16383,@:SYS 491 
52 

RJ 138 DATA 126,169,31,162, 


EG 116 


HK 126 


192,141,20,3,142,21 
DATA 3,169,6,141,18, 
268,173,17,268,41 
DATA 127,141,17,208, 
169,129,141,26,208,8 
8 
DATA 96,173,25,208,1 
41,25,208,48,7,173 
DATA 13,220,88,76,49 
1234,230,254,165, 254 
DATA 41,3,208,21,166 
1251,232,138,41,15 
KR 196 DATA 133,251,170,189 
178,192,141,17,268,1 
89,94,192 
DATA 141,22,208,76,1 
88,254,24,25 
DATA 26,27,28,29,30, 
31,31,30,29,28 
DATA 27,26,25,24,203 
1204, 205,206,207, 206 
GG 236 DATA 205,204,203, 202 
201,200, 200,201, 202 
1203,0,0,0,0,0 


PROGRAM 6 


BM 10 FOR I=54272 TO 54295: 
POKE I,@:NEXT 

POKE 54296,15:POKE 54 
277,8:POKE 54278, 255: 
POKE 54276,23:POKE 54 
287,40 

FOR Z=1 TO 6 

FOR Fl=255 TO @ STEP 
{SPACE}-6:POKE 54273, 
F1:NEXT Fl 

FOR Fl=0 TO 255 STEP 
{SPACE}20:POKE 54273, 
PL:NEXT Fl 

NEXT Z 

POKE 54278,15:POKE 54 
296,0 


PROGRAM 7 


BM 16 FOR 1=54272 TO 54295: 
POKE I,@:NEXT 

POKE 54296,15:POKE 54 
277,8:POKE 54278,255: 
POKE 54276,23:F1=10 
FOR 2=1 TO 24:F2=30:P 
OKE 54273,Fl 

FOR Y=1 TO 10:POKE 54 
287, F2:F2=F2*1.01:NEX 
TY 

PL=F1+8:NEXT Z 

POKE 54278,15:POKE 54 
296,0 


BE 146 


KX 156 


AE 160 
GS 170 
QP 180 


JC 200 
AE 210 


FG 226 


HE 20 


GB 30 
EB 40 


EM 50 


SX 60 
CE 76 


MX 26 


SM 30 
RA 40 
Jc 50 


RE 60 


Send more sounds, folks! 
Our address is listed below. 


“Programmer's Page” is inter- 
ested in your programming 
tips and tricks. Mail them to 
Programmer's Page, COM- 
PUTE's Gazette, 324 West 
Wendover Avenue, Suite 200, 
Greensboro, North Carolina 
27408. We pay $25-$50 for 
each tip that we publish, O 


PROGRAMS 


SPEEDSPELLER 128 


By Christopher Chojnacki 

When SpeedScript 128 made its debut in 
October 1987, those of us who had 
been using SpeedScript for the 64 could 
hardly wait to try it out. This new version 
took advantage of most of the 128's abil- 
ities, but it still lacked two features that 
most word processors would call stan- 
dard equipment: a spelling checker and 
a word counter. 

True, programs exist that will take a 
SpeedScript file and either count its 
words or check its spelling, but they re- 
quire an interruption of the creative proc- 
ess. You have to save your file, exit 
SpeedScript, load and run the spelling 
checker or word counter, save the cor- 
rected file, load SpeedScript again, and 
finally load the file once more. Now, 
there's a better way. 


Getting Started 

SpeedSpeller 128 is a two-part patch 
to SpeedScript 128 that adds a high- 
performance integrated spelling check- 
er, a command line for viewing and 
changing the parameters of the spell- 
ing checker, a word counter, and a 
viewing mode that can double the num- 
ber of onscreen lines. 

The first part, SpeedSpeller 128, is 
written entirely in BASIC. To help avoid 
typing errors, enter it with The Automat- 
ic Proofreader; see “Typing Aids” else- 
where in this section. When you've fin- 
ished typing it in, be sure to save the 
program. 

The second part of the program is 
written in machine language. Enter it 
with MLX, our machine language entry 
program; see “Typing Aids” again. 
When MLX prompts, respond with the 
following values. 


Starting address: 1300 
Ending address: 1BEF 


When you've finished typing, save this 
program with the filename 
ESC.PATCH.ML on the same disk as 
the first program. When SpeedSpeller 
128 runs, it looks for and runs this file. 


Running the Program 

After you've saved both programs, re- 
boot your 128 and run SpeedSpeller 
128. You'll be presented with options 


to install the patch to SpeedScript 128, 
change the device number for the dic- 
tionary files, or change the minimum 
word length to check for errors. 

The first time you run SpeedSpeller, 
choose the first option by pressing the 
A key. At this point the patch's subrou- 
tine package loads into memory, and 
you're asked for the SpeedScript 128 
filename and the device number of the 
drive where it's located. If you're using 
only one drive, be sure that the disk 
containing your version of 
SpeedScript 128 is in that drive before 
choosing a device number. After the 
patch is installed, you'll be asked for a 
filename to save your new version of 
SpeedScript 128. 

Since SpeedSpeller supports numer- 
ous drives, you'll also be asked what de- 
vice number you want for dictionary 
disks and the minimum word length to 
check for spell 1g errors. These values 
are then saved to disk in a file called 
ESC. Since this also contains subrou- 
tines used by the patch, ESC should 
be on the same disk as your new ver- 
sion of SpeedScript 128. Other options 
on the SpeedSpeller 128 main menu al- 
low you to display and/or change the 
default values that you've already 
saved in the ESC file. When you're sat- 
isfied that everything is the way that 
you want it, you can load and run your 
new version of SpeedScript 128 just as 
you would your old one. 


Changes 

Although this new version of 
SpeedScript 128 doesn't look any dif- 
ferent from the old one, there are 
some changes. For one thing, func- 
tions Control-A to change a letter's 
case and Control-X to transpose two let- 
ters no longer exist. They were re- 
moved to make room for the patch. Al- 
so, some functions have been 
switched back to the keys they were as- 
signed to in the original version of 
SpeedScript. Specifically, Insert mode 
is now toggled using Control-I (or the 
Tab key), the Run/Stop key now inserts 
5 spaces, and the Shift-Run/Stop com- 
bination inserts 255 spaces. The Esc 
key now gives you four new functions. 


Integration 
The Esc key, when used alone or to- 
gether with the Shift, Alt, Control, or 


Commodore (C=) keys, allows you to 
check the spelling of the file you have 
in memory, change your default values 
for the spelling checker, count the num- 
ber of words in the file in memory, or 
toggle the length of the screen be- 
tween 25 and 50 lines. 

The first time that you use any of 
these new functions, it will be neces- 
sary to hold down any key being used 
with the Esc key for a few seconds 
while the patch loads in the subrou- 
tines from the disk. After that, all of the 
new functions will be ready to use in- 
stantly. Loading the subroutine pack- 
age in separately from SpeedScript 
128 itself makes it possible to upgrade 
or alter these new functions at some fu- 
ture time without having to alter 
SpeedScript 128 again in the process. 


Check Your Spelling 

To check the file you're working on for 
spelling errors, move the cursor to 
where you want the process to begin 
and press the Esc key. Your file is 
scanned from the cursor position to the 
end of the file for words that are at 
least as long as the value you set as 
your minimum word length. 

Subdictionaries for each letter of the 
alphabet are then loaded into memory 
as necessary and used to check your 
file. If you don’t have a subdictionary 
on your disk, you can load one from an- 
other disk or create one as you go 
along. If a word being checked 
doesn't appear in a subdictionary, the 
file scrolls to a point six words prior to 
the word in question. The word is dis- 
played in reverse video at the top of 
the screen, and you're presented with 
a list of options. 

Your first option is to add this word 
to your subdictionary by pressing the A 
key. Do this only if you know the word 
is spelled correctly. Your second op- 
tion, to edit the word, is selected by 
pressing the E key. Type the word ex- 
actly as you want it to appear in your 
file, using capital letters where neces- 
sary. Finally, if you don’t want to edit 
the word or add it to your subdiction- 
ary, you can skip the word by pressing 
the S key. 


Be Aware 
There are a few things to remember in 
general about this spelling checker. 


OCTOBER 1992 COMPUTE G-25 


PROGRAMS 


The first is that SpeedSpeller 128 au- 
tomatically cancels Insert mode. Simi- 
larly, the search and replace buffers 
are cleared anytime you use Speed- 
Speller 128's Edit option. The next 
thing to remember is that words are not 
case sensitive. Therefore, capital, Cap- 
ital, and CAPITAL all appear the same 
and are all checked using the same 
word in the C subdictionary. Also, con- 
tractions are viewed as two words. So 
couldn't, for example, will appear to be 
misspelled as couldn. You can abort 
the checking process at any time by 
pressing the Restore key and then 
pressing the N key when asked if you 
want to exit SpeedScript 128. 

The chart below summarizes the 
changes that have been made. 


Key 

Combination Function 

Esc Check spelling 

Alt-Eso View/change default 
values 

Control-Esc View/change default 
values 

C=-Esc Toggle between 25 
and 50 lines 

Shift-Esc Word-count 

Run/Stop Insert 5 spaces 

Shift-Run/Stop Insert 255 spaces 

Control-| Toggle Insert mode 

Tab Toggle Insert mode 

Restore Cancel spell- 
checking 


File Management 
Whenever SpeedSpeller 128 updates 
a subdictionary, it saves a temporary 
version of the new dictionary, verifies it, 
erases the old one, and then renames 
the temporary one. This is done to en- 
sure that you don't accidentally lose or 
otherwise damage a subdictionary 
while updating it. For this reason, it’s 
necessary to always have enough 
room left on a disk to have an extra 
copy of your largest subdictionary. Al- 
so, it's best not to save any documents 
with a single character as a filename, 
just to be sure that you don't inadver- 
tently destroy a subdictionary. 
Subdictionaries can be loaded into 
SpeedScript 128 and edited if you ac- 
cidentally add a misspelled word. The 
file format is simple. The first letter of 
the file is the name of the file in reverse 
video. This is made by pressing the £ 


G-26 COMPUTE OCTOBER 1992 


key while holding down the Control key 
and then pressing the letter that you 
want when asked to press a format 
key. Each word is then stored without 
the first letter and with the last letter in 
reverse video. No spaces separate the 
words, and no space or return is at the 
end of the file. For example, if the Z sub- 
dictionary contained the words zany, ze- 
bra, and zipper, it would look like this. 


BanMebrBlippell 


A subdictionary stored in this man- 
ner uses less space and can be load- 
ed into memory faster. 


Default Values 

You can view at any time the default val- 
ues for your subdictionary drive num- 
ber and the minimum word length to 
check for spelling errors. Press the Esc 
key and either Alt or Control. To 
change these values, keep the Alt or 
Control key pressed down, release the 
Esc key, and press either the D key to 
cycle through device numbers 8-15 or 
the W key to cycle through word 
lengths of four to seven characters. 
These values remain in effect until you 
change them or turn off your computer. 


Counting Words 

Pressing the Esc key while holding 
down the Shift key counts all of the 
words in the file in memory in three sec- 
onds or less. There are a few things to 
consider, however, when using this 
function. The first is that contractions 
and hyphenated words are counted as 
multiple words. For example, couldn't 
is considered two words. Also, num- 
bers are not counted as words. 


Doubling Your Fun 

Finally, we come to the last of Speed- 
Speller 128's new features. By press- 
ing the Esc key while holding down the 
Commodore (C=) key, you can toggle 
between SpeedScript 128’s normal dis- 
play of 25 lines and 50 lines of on- 
screen text. 

This is possible by using what's 
known as Interlace Display mode. Un- 
fortunately, not everyone will be able to 
use this feature. You'll need a good 
RGB monitor with a vertical-hold con- 
trol. To reduce any flickering, try reduc- 
ing the brightness of your monitor or us- 


ing text and background color combi- 
nations that have a lower contrast. 

If you exit and then reenter 
SpeedScript 128 while in this mode, 
you'll have to toggle this feature once 
to reset your display. Additionally, 
SpeedScript 128 will seem a little slug- 
gish when using this mode because 
the program has to handle twice as 
much information every time it updates 
the screen. Also, because the comput- 
er's Operating system doesn't recog- 
nize this mode, only the upper half of 
the screen will be used anytime you dis- 
play a disk directory or print a file to 
the screen. 


A Final Word 
The type of disk drive that you use can 
either help or hinder a spelling check- 
er’s performance. The way that words 
are stored in a subdictionary is also a 
factor. SpeedCheck 128, the spelling 
checker on COMPUTE's SpeedScript 
disk, stores words in its dictionary ina 
random order. This means the entire 
subdictionary has to be checked from 
the beginning until it either finds the 
word it's looking for or runs out of 
words in the subdictionary. This proc- 
ess can be very fast or very slow. 
SpeedSpeller 128, on the other 
hand, stores the words in its subdic- 
tionaties in alphabetical order and 
then uses what is known as a binary 
search to look for words. This method 
involves dividing each subdictionary in 
half and deciding in which half the 
word being checked should be found. 
This halving continues until either the 
word is located or the half is too small 
to be divided again. This process is 
very fast. The time required to check 
the spelling of a word will generally re- 
main the same regardless of the 
word's location in the subdictionary, 
the size of the dictionary, or whether or 
not the word is in the dictionary. 
Speaking of size, depending on how 
much memory your version of 
SpeedScript 128 uses, each subdiction- 
ary can contain approximately 7000 
words. This means that an entire diction- 
ary can contain about 182,000 words. 
In addition, because of the way Speed- 
Speller 128 handles the loading and 
saving of subdictionaries, you don't 
have to keep all of your subdictionaries 
on a single disk. 


SPEEDSPELLER 128 


AD @ POKE48,128:CLR:FAST:IFPEE 


QF 


CB 
PK 


JK 


HB 


PJ 


GG 


CR 


SK 


8 
9 


16 PRINT" {DOWN}C) 
ll 
12 


13 
14 


15 
16 


17 
18 
19 
26 
21 
22 


23 


24 


K (238) <>79THENPRINTCHRS (2 
7) "x" 

PRINTCHRS (27) "R{7} 

{2 HOME} {CLR}"CHRS$ (11) CHR 
$ (142) :BA=PEEK (186) 
DEFFNMA (X) =PEEK (174) +256* 
PEEK (175) 


PRINTSPC(12)"{17 SPACES} 
LA} RRR K KARR RRR RAKES} 
“ =< See Sa es eee 


PRINTSPC(12)"{5 SPACES} 
{LAP HAKHKAAKHKIRLXS SPEEDSP 
ELLER{2 SPACES}128 {Z}*** 
KHKKKKHHRRES PM 
PRINTSPC(12) "{A}****{X} P 
ATCH INSTALLATION AND MAI 
NTENANCE PROGRAM {Z}*** 
¢s}" 

PRINTSPC(12) "{ZpereaneHe* 
HK KKK RIKER KERR KK KKK 
TE LELLLLELLELEELELE o> 


WINDOW12,7,66,22:PRINT" 
£3}{CLR}":WINDOW13,8,65,2 
1 


PRINT" {CLR}A) INSTALL PAT 
CH TO SPEEDSCRIPT 128" 
PRINT" {DOWN}B) CHANGE DEV 
ICE # FOR DICTIONARY" 
CHANGE MI 
NIMUM WORD-~LENGTH" 
PRINT" {DOWN}CHOOSE AN OP 
TION" 
GETRS: IF ((RS<"A")OR(RS>" 
C") ) THENL2:ELSEIFRS="B"T 
HEN33:ELSEIFRS="C"THEN4G 
BLOAD"ESC. PATCH .ML",U(BA 
) ,B1,P4864:EA=FNMA (@) 
PRINT" {CLR}NAME OF SPEED 
SCRIPT 128 VERSION TO CO 
NVERT:":NS=""s INPUTNS 
IF LEN(NS$)<l OR LEN(NS)> 
16 THEN14 
INPUT" {DOWN}DEVICE # TO 
{SPACE}LOAD VERSION FROM 
(8 TO 15)";DV 
IF DV<8 OR DV>15 THENPRI 
NT" {UP}"CHRS(27)"D{2 UP} 
":GOTO16 
BLOAD (NS) ,U(DV) ,B1,P7169 
: EB=EFNMA (3) 
READS ,F, KC: IFS=OTHEN22 
CK=6:BANK1:FORX=STOF:REA 
DN:CK=CK+N: POKEX, N: NEXT: 
BANKG 
IFCK<>KCTHENPRINT" {DOWN} 
ERROR IN DATA FOR LOCATI 
ON(S)"S"TO"F:END:ELSE19 
PRINT" {DOWN}NAME FOR NEW 
SPEEDSCRIPT 128 VERSON: 
"ZNS="": INPUTNS 
IF LEN(NS$)<1 OR LEN(NS)> 
16 THENPRINT"{UP}"CHRS (2 
7) "D{3 UP}":GOTO22 
INPUT"{DOWN}DEVICE # TO 
{SPACE}SAVE NEW VERSION 


Jc 


BD 


EC 


RE 


MJ 


SE 


EK 


GF 


GG 


DQ 
AH 


RM 


PD 


HH 


JG 
ER 
HS 
EX 
QA 
RM 


AK 


36 


37, 


38 


39 


40 


41 


42 


43 


44 


45 


46 
47 
48 
49 
58 


51 


By} 


{SPACE}TO (8 TO 15)";DV 
IF DV<8 OR DV>15 THENPRI 
NT" {UP}"CHRS$(27)"D{2 UP} 
":GOTO24 
BSAVE (NS) ,U(DV) ,B1,P7169 
TO P(EB) : IEDS<>@THENS2 
INPUT" {DOWN}DEVICE # TO 
{SPACE}LOAD DICTIONARY F 
ROM (8 TO 15)";DD 
IF DD<8 OR DD>15 THENPRI 
NT" {UP}"CHRS(27)"D{2 UP} 
":GOTO27 
BANK1: POKE5150 ,DD:BANK@ 
INPUT" {DOWN}MINIMUM WORD 
-LENGTH (4 TO 7)";WL 
IF WL<4 OR WL>7 THENPRIN 
T"{UP}"CHRS$(27)"D{2 UP}" 
:GOTO3G 
BANK1:POKE5175,WL:BANK@: 
GoTo47 
INPUT"{CLR}DEVICE # TO L 
OAD 'ESC' SUBROUTINE FRO 
M (8 TO 15)";DV 
IF DV<8 OR DV>15 THEN33 
BLOAD"ESC",U (DV) ,B1,P486 
4:EA=ENMA (G) :BANK1:DD=PE 
EK (515@) :BANKO 
PRINT" {DOWN}DICTIONARY C 
URRENTLY LOADED FROM DEV 
ICE #"DD 
INPUT" {DOWN}NEW DEVICE # 
TO LOAD DICTIONARY FROM 
(8 TO 15)";DD 
IF DD<8 OR DD>15 THENPRI 
NT" {UP}"CHRS$(27)"D{2 UP} 
"3GOTO37 
BANK1:POKE515@,DD:BANK@: 
GoTO47 
INPUT"{CLR}DEVICE # TO L 
OAD 'ESC' SUBROUTINE FRO 
M (8 TO 15)";DV 
IF DV<8 OR DV>15 THEN4O 
BLOAD"ESC",U (DV) ,B1,P486 
4:EA=FNMA (@) :BANK1:WL=PB 
EK(5175) :BANK@ 
PRINT" {DOWN}CURRENT MINI 
MUM WORD-LENGTH: "WL 
INPUT" {DOWN}NEW MINIMUM 
{SPACE}WORD~LENGTH (4 TO 
7) ";WL 
IF WL<4 OR WL>7 THENPRIN 
T"{UP}"CHRS$ (27) "D{2 uP}" 
7GOTO44 
BANK1: POKE5175 ,WL: BANKG 
SCRATCH"ESC",U (DV) :IFDS> 
1THENS2 
BSAVE"ESC",U(DV) ,B1,P486 
4 70 P(EA) :IFDS<>@THENS2 
SCRATCH"ESC",U (DV) : IFDS> 
1THENS2 
RENAME "ESC", U (DV) TO"ESC" 
,U (DV) :TEDS<>@THENS2 
BANK@: POKE7167,@: PRINT" 
{2 HOME} {CLR} {DOWN}ALL F 
INISHED!":BANK15:POKE48, 
4:CLR:SLOW:END 
BANKG@: POKE7167,0:PRINT" 
{DOWN}ERROR: "DSS$:BANK15 


HS 
QD 
BX 


CH 
GA 


53 
54 
55 
56 
57 
58 
59 
66 
61 
62 


63 
64 


65 
66 
67 
68 
69 
76 
71 


72 
73 


: POKE48,4:CLR: SLOW: END 
DATA 7280,7281,281,254,2 
7 

DATA 
a 
DATA 
DATA 
DATA 
2 
DATA 


7283,7284,281,254,2 


8181,8181,3,3 
8187,8187,255,255 
8221,8222,219,177,4 


8245,8246,268,172,3 


8265,8266,136,99,37 
9833,9833,80,80 
16169,10109,79,79 
16334,10335,206,166 


16936,10993,8169 
DATA 173,255,27,201,204, 
246,36,169 

DATA 3,162,224,160,42,32 
189,255 

DATA 169,0,176,32,104,25 
5,173,3 

DATA 40,176,168,32,186,2 
55,169,0 

DATA 32,213,255,144,3,76 
169,48 

DATA 32,204,255,108,0,19 
169,83 

DATA 67,234,160,0,185,70 
153,240 

DATA 6,32,210,255,200,20 
8,245,96 

DATA 12354,12350,228,228 
DATA G,0,0 


ESC.PATCH.ML 


1300:58 
1368:10 
1310:32 
1318:20 
1326:63 
1328244 
1330:2E 
1338:0B 
1346:20 
1348: 2E 
1350:6E 
1358:20 
13606:20 
1368:20 
1370:GF 
1378:6B 
1386:65 
1388:64 
1390:63 
1398: 26 
13AG:29 
13A8:26 
13B6:14 
13B8: 06 
13C0:16 
13C8:20 
13D6:59 
13D8:12 
13E0:65 
13E8:00 
13F0:60 


14 
65 
38 
52 
Ol 
OF 
2E 
a9 
57 
06 
26 
06 
45 
53 
GE 
69 
26 
26 
14 
28 
20 
i} 
09 
4c 
65 
41 
2F 
12 
6c 
45 
Isis} 


Ds: 
6c 
3A 
30 
GE 
63 
2E 
GE 
OF 
55 
57 
26 
04 
OB 
@5 
GE 
55 
53 
09 
59 
44 
15 
OF 
GF 
i) 
07 
4E 
95 
gc 
12 
18 


16 
gc 
26 
3A 
GE 
15 
0o 
67 
12 
GE 
OF 
26 
69 
99 
20 
o7 
16 
15 
OF 
2F 
15 
G2 
GE 
gl 
3A 
ol 
29 
93 
69 
12 
G5 


G4 
20 
30 
20 
07 
OE 
O5 
26 
2E 
OF 
26 
04 
OF 
66 
gS 
G1 
14 
44 
12 
3F 
OE 
69 
19 
538 
12 
20 
43 
53 
3A 
26 
43 


53 
31 
3A 
53 
20 
14 
G3 
27 
2E 
17 
2D 
2c 
12 
44 
63 
16 
05 
69 
19 
0G 
07 
G3 
26 
G1 
19 
28 
GF 
19 
26 
28 
OF 


5A 
9B 
8E 
16 
59 
92 
06 
5D 
46 
D6 
6F 
E2 
4A 
24g 
8B 
FD 
2E 
CA 
Ol 
8c 
as} 
06 
88 
AB 
66 
29 
5B 
35 
BE 
EC 
oc 


a5 
@5 
0G 
26 
09 
6D 
43 
20 
G4 
OB 
12 
41 
14 
16 
43 
GB 
o4 
G2 
GE 
4E 
12 
2D 
G1 
G4 
26 
09 
3F 
14 
GE 
OF 
65 


OCTOBER 1992 COMPUTE G-27 


PROGRAMS 


13F8:15 GE 14 @5 12 26 31 32 AS | 1628:3F 18 DO G5 26 77 18 BO 24 | 1858:AG 13 20 BD FF A9 G6 A2 C6 
1400:38 3A 26 0G 26 57 GF 12 65 A9 GO FG DF AD 3E 13 96 | 1860:G6 26 68 FF AQ 80 AE 1E 6E 
1488:04 13 @6 43 12 @5 @1 14 ES BF CD @0 @C D@ BO 26 DX | 1868:14 AG BG 20 BA FF 60 A6 GA 
1410:45 26 41 0G 44 85 16 G9 56 19 8A DO 95 AD GG OB D5 |1870:BG A4 Bl 20 D5 FF 60 AD 77 
1418:43 65 20 23 3A 66 88 26 3B AF 8D FF @B AS 29 48 G4 | 1878:3E 13 69 86 8D 3E 13 8D CE 
1426:26 20 4D 09 GE G9 GD 15 5E 2A 48 26 1F 21 26 1F Cl | 188G:18 13 26 CD 18 BO 45 20 96 
1428:0D 20 57 GF 12 64 2D 4c 62 20 1F 21 20 1F 21 26 F2|1888:54 18 A9 BO AG 45. A4 46 G3 
1436:05 OE 07 14 O8 3A GG 64 AD 21 26 1F 21 A5 29 8D D9 | 1896:26 D8 FF 20 EE 18 BO 34 76 
1438:04 3B 65 04 G6 32 07 36 4F 35 A5 2A 8D 14 35 68 52 |1898:20 54 18 20 FE 18 BO 2C 58 
1440:98 63 19 G7 12 30 13 G6 38 2A 68 85 29 20 C9 16 C2 |18AG:A9 G1 26 GF 18 26 EB 18 18 
1448:20 26 21 66 18 80 26 60 16 18A8:B9 22 AD 3E 13 29 7F 8D 1D 
1450:19 68 32 30 DE 1B DE 1B 8C AQ 4A AG 13 26 18 1E EG | 18BG:18 13 26 CD 18 BO 15 AD ED 
1458:A5 D3 48 A9 CC 8D FF 1B A3 E5 16 A9 56 AG 13 20 17 | 18B8:18 13 8D 1C 13 AD 3E 13 6c 
1460:20 CB 1E 20 52 1D 68 FG 1A 1E 26 64 17 26 52 1D 8F | 18C@:8D 1E 13 A9 G6 A2 19 AG C9 
1468:15 4A BO GF 4A BG 69 4A 26 CB 1E AY G2 AG 13 26 FE | 18C8:13 26 D3 18 606 AY G4 A2 DA 
1470:B@ 63 4c Bl 1A 4C Bl 1A DS 1E AQ 34 AG 13 26 18 82 | 18DG:15 AG 13 26 BD FF A2 GO 4B 
1478:4C 28 1B 4C 81 14 4c 12 FE 18 96 99 AG GG AD 29 17 | 18p8:20 68 FF AQ OF AB 1E 14 51 
14806:15 26 CB 1E AQ Fl AG 13 FE G1 20 74 FE 30 GE 29 BF | 18fG:A8 26 BA FF 20 CG FF 20 ES 
1488:26 18 1E A5 29 48 AS 2A C4 FO GA C9 1B 16 G6 99 SD | 1888:E7 FF 26 EE 18 60 AO GO 95 
1496:48 A9 G@ 85 64 85 65 85 29 | 16CG:6G GC C8 DG EX 8C BG GB A2 | 18FG:20 BD FF AQ GF AE 1E 14 BE 
1498:29 A9 G4 85 2A 20 AC 16 DI | 16C8:66 AG GG AD 29 A2 G1 24 DD | 18F8:A8 20 BA FF 26 CO FF A2 83 
14AG:CO GG FO G7 E6 65 DG G4 2A! 16DG:74 FF 49 86 A2 29 8E BO F8 | 190G:GF 20 C6 FF 96 24 AD Gl G4 
14A8:E6 64 88 C8 98 18 65 29 14 | 16p8:62 A2 G1 26 77 FF C8 CC EA | 1908:8D @6 FF AG FF C8 B9 7D 1F 
14B0:85 29 A5 2A 69 OG 85 2A BD | 16£6:00 @B D@ E7 66 AG BB AD 97 | 191G:48 99 G3 GD 10 F7 49 84 71 
14B8:A5 29 38 ED 18 35 A5 2A EE | 16£8:29 A2 G1 26 74 FF 99 G6 4B | 1918:8D 8G GD 99 G3 BD AY 2C 18 
14CG:ED 19 35 99 D8 68 85 2A 73 | 16FG:8D CC BG GB FO G3 C8 DO 7D | 1926:99 G4 GD AI GE 8D GO FF G3 
14C8:68 85 29 A2 13 A5 65 C9 99 | 16F8:5E AD GB 99 GG BD AG BD 23 | 1928:DG 12 AG GG 20 CF FF 99 35 
14DG:01 DO G6 AS 64 DB G5 A2 DB | 1704:26 18 1E 60 AD GG 8D FE 75 | 1936:00 OD C8 C9 BD DG F5 AX 9C 
14D8:20 8B 69 14 78 26 3D 1D F2 | 1708:0B AC 60 OB 88 98 18 65 D3 | 1938:00 99 GO BD 20 CC FF 26 F5 
14EG:A9 66 8D OO FF 38 AS FE BA | 1710:45 85 43 AS 46 69 66 85 62 | 1946:E7 FF AD 66 GD C9 31 16 1E 
14E8:A2 96 38 20 75 8C 26 44 Fl | 1718:44 A5 43 38 EO FE A5 44 98 | 1948:02 18 60 20 CB 1B AD E9 A3 
14F0:8E AG 60 BO GO G1 FO G6 16 | 1720:E9 FE BO G7 EE FE OB AQ BC | 195G:AG 13 20 18 LE AG G2 CB 5D 
14F8:26 GC 1D C8 DO F5 AY BE 24 | 1728:5C DG G2 AD 61 AG 13 20 67 | 1958:B9 BB GD C9 41 3G FB 98 FA 
1560:8D 66 FF 20 1C 1D 58 AQ A2 | 1736:18 1B 20 E4 FF D@ FB 20 9F | 196G:AA C8 B9 GB GBD C9 2C DB BA 
1508:04 AG 14 20 18 1E EE 15 OD | 1738:84 FF F@ FB C9 53 DO Gl F4 | 1968:F8 AD 3B 99 GO OD BA AG 45 
1510:35 66 AY GG 8D 16 35 26 71 | 1746:66 C9 45 DG 4A 20 CB 1E 4F | 1970:GD 26 18 1f AY AG AD 13 3A 
1518:CB 1E A9 62 AB 13 26 18 AE | 1748:A9 D6 AG 13 26 18 1E AY 8D | 1978:26 18 1B AY BY AE FD OB AE 
1520:1E A9 1F AG 13 26 18 1E 19 | 175g:12 20 83 27 8D B5 35 A8 C8 | 198G:FG G2 AD BE AG 13 26 18 76 
1528:AE 16 12 86 BO AE 11 12 CC | 1758:FG F5 88 BO 46 35 99 B6 1A | 1988:1E AY C3 AG 13 20 18 1E 1E 
153G:E8 86 Bl A9 @G6 AB 99 BO 17 | 1764:35 CB GB DG F5 AD BO BB D7 | 199g:38 69 EE 15 35 AS 3F 85 6A 
1538:GB C8 D@ FA AD 13 35 8D 95 | 1768:8D 96 35 AS 29 85 9E AS 46 | 1998:29 A5 46 85 2A AD 40 BB BC 
1546:46 GB AD 14 35 8D 41 OB Bl | 1776:2A 85 9F 26 8A 31 AD BS 35 | 19AG:8D 13 35 AD 41 GB 8D 14 45 
1548:A5 29 85 3F A5 2A 85 40 55 | 1778:35 8D 9G OB 18 2E BS 35 6F | 19A8:35 AD GB 8D 96 35 8D BS 13 
1550:E6 29 D@ G2 E6 2A 20 1F Bl | 1786:A5 29 38 ED B5 35 85 29 68 | 19Bg:35 26 52 1D 66 AS BO 85 22 
1558:21 A5 29 85 41 AS 2A 85 74 | 1788:A5 2A £9 GG 85 2A 66 C9 BO | 19B8:47 AS Bl 85 48 AS 45 85 6F 
1560:42 26 AC 16 CO GG DG G1 53 | 1796:41 DO 9F AO G1 8D FD OB 67 | 19cG:49 AS 46 85 4A AO 3F 8D 27 
1568:C8 98 18 65 29 85 29 A5 CD] 1798:A9 3F 8D @@ FF AE FF @B E2 | 19C8:96 FF 20 18 1A E@ @6 DB AS 
1570:2A 69 6G 85 2A CC 37 14 69 | 17AG:E8 D@ 28 AS 45 85 FE AS BA | 19DG:28 AG Gl Bl FE AA 29 1F 8E 
1578:30 67 AD GG GC AB 99 BB 68 | 17A8:46 85 FF AG G1 BY BG BC 6H | 19D8:D9 BG BC 36 23 DB B9 CB B3 
1586:6B AS 29 38 ED 18 35 AS 22 | 17BG:91 FE C8 CC 66 OB DG F5 11 | 19BG:8A 30 BF CC BO BB DG EB CC 
1588:2A ED 19 35 90 D3 AG G1 CF | 17B8:88 G9 80 91 FE AS 43 85 31 | 19B8:A5 FE 85 49 AS FF 85 4A 75 
15906:B9 66 6B D@ 13 C8 CB 1B 5E | 17¢c0:45 AS 44 85 46 AD GE 8D SE | 19FG@:DG D8 CC BB BB DG BE A2 BS 
1598:DG F6 206 CB 1B AY 6F AG CO! 17C8:00 FF 66 A5 45 38 ES 26 SA | 19F8:06 AD GE 8D OB FF 60 C8 BY 
15AG:13 26 18 1B 20 92 19 60 1F | 17D0:85 B4 AS 46 E5 27 85 BS 94 | 1AGG:Bl FE 16 FB C8 88 98 18 40 
15A8:09 40 FG E2 8D 3E 13 AI E8 | 17D8:aC GG GB 88 98 18 65 26 5D | 1A98:65 FE 85 47 85 26 A5 FF E3 
15B6:00 99 GG GB 8D FD GB 20 8C | 17BG:85 9E AS 27 69 BH 85 JF 96 | 1A19:69 BG 85 48 85 27 DO B2 4B 
15B8:CB 1B AQ 62 AG 13 26 18 4F | 17E8:A5 B5 AA 18 65 27 85 51 52 | 1A18:A5 47 18 65 49 85 26 A5 9C 
15CG:1E AQ 34 AG 13 20 18 1E 5C|17FG:A5 26 85 50 18 8A 65 OF 86 | 1A26:48 65 4A 85 27 66 27 66 FA 
15C8:26 54 18 A9 GG 26 GF 18 2D| 17F8:85 25 AS 9E 85 24 EB A4 G5 | 1A28:26 A2 G1 AS 26 C5 47 DB 3A 
15D0:90 GD 20 EE 18 26 3F 18 51] 189¢:B4 DG G4 FG GB AG FF Bl DA | 1A3G:13 AS 27 C5 48 DG BD C5 FD 
15D8:FG@ DD 26 79 1A D@ BB 86 AG | 1898:56 91 24 88 CO FF DO F7 71 | 1A38:46 D@ GB AS 26 C5 45 DB C2 
15E0:45 84 46 AS 41 85 29 AS GA! 181G:C6 51 C6 25 CA DO EE AS 46 | 1A46:62 A2 FF 60 AS 26 85 FE F3 
15E8:42 85 2A 20 AC 16 C@ GB 1C |] 1818:26 85 FE A5 27 85 FF AG E6 | 1A48:A5 27 85 FF AG OG Bl FE 31 
15F@:D@ G1 C8 CC 37 14 16 3D ll 1 B9 GG GC 91 FE C8 CC E6 | 1A5G:3G 24 C6 FF C6 27 88 Bl 14 
15F8:98 18 65 29 85 29 AS 2A FA 6 6B DG F5 88 G9 80 91 8F | 1A58:FE 10 FB 98 18 65 FE 85 F2 
1600:69 66 85 2A A5 29 38 ED 64 E A5 43 85 45 AS 44 85 DB | 1A6G:FE 85 26 AS FF 69 @0 85 BE 
1668:18 35 A5 2A ED 19 35 90 B3 6 AOS GE 8D OO FF 60 20 71 | 1A68:FF 85 27 AS FE 38 ES 45 27 

4 

B 

3 


YNABQMAMAUWTHUAUYD 
w 
Nu 
be 
i=) 
nN 
a 
Q 
X} 
e 
a 
ny 
i 
Q 
a 
> 
+ 


1619:DA AD FD OB FO 94 20 CB 6B FF D@ FB 206 £4 FF FO 42 | 1A76:A5 FF ES 46 BO Cl A2 GG 6A 
1618:1E A9 62 AG 13 20 18 1E 6F C9 59 FG G6 C9 4E DO E7 | 1A78:6G AD G3 GD C9 26 DG 36 1A 
1626:A9 7D AG 13 26 18 1E 20 83 | 1856:F3 C9 59 68 AI Gl A2 3E F2 | 1A86:26 CB 1E AQ OB AG 14 26 39 


G-28 COMPUTE OCTOBER 1992 


1A88:18 1E AQ 89 AG 13 26 18 C7 
1A9G:1E 20 3F 18 D@ 1A AD 3E CD 
1A98:13 49 C@ AG 6G 91 BG A5 18 
1AAG:B@ 18 69 G1 85 AE AA AS 52 
1AA8:Bl 69 @@ 85 AF A8 C4 AF Cl 
1AB9:60 26 CB 1E A9 62 AG 13 22 
1AB8:20 18 1E A9 AD AG 13 26 97 
1ACG:18 1E A9 14 AB 14 26 18 AC 
1AC8:1E AD 1E 14 AA C9 BA 30 3D 
1AD@:6B A9 31 26 GC 1D 8A 18 1F 
1AD8:69 26 D@ G7 49 36 26 BC 2D 
1AE@G:1D A9 26 26 GC 1D AO 1F 5B 
1AE8:AG 14 20 18 1E AD 37 14 22 
1AF9:49 36 26 @C 1D EE 15 35 9E 
1AF8:A5 D3 FO 2B 26 E4 FF FO 4B 
1B00:F7 29 1F C9 64 D® BE AE 2B 
1B08:1E£ 14 E8 8A 69 08 29 OF El 
1B16:8D 1E 14 D@ 9C C9 17 DO 2F 
1B18:DF AE 37 14 EB 8A @9 64 99 
1B26:29 67 8D 37 14 D@ 8A 60 2B 
1B28:78 AD 4E 14 8D 4F 14 49 2c 
1B30:408 8D 4E 14 AD 45 14 8D 2D 
1B38:49 14 49 16 8D 45 14 AD 99 
1B40:58 14 8D 52 14 49 2B 8D 24 
1B48:50 14 AD 51 14 8D 53 14 98 
1B56:49 38 8D 51 14 CD 2F BA 40 
1B58:F@ 26 AG GG BE 38 14 C8 6C 
1B60:B9 38 14 C8 26 G7 1D CG AB 
1B68:16 D@ Fl AO FF AG 16 A2 FB 
1B70:1E 26 07 1D 88 D@ FA AD 9B 
1B78:58 14 4A 98 63 20 79 El 9B 
54 14 AE CF 21 8D CF FD 
8E 54 14 AD 55 14 AE 58 
21 8D D@ 21 8E 55 14 38 
56 14 AE El 21 8D El 39 
8E 56 14 AD 57 14 AE BB 
21 8D E2 21 8E 57 14 7E 
56 14 8D B® 1D AD 51 D3 
8D 2F GA 8D 32 26 8D Fl 
26 8D 85 26 8D 93 27 69 
4B 14 8D 33 26 AD 13 65 
85 29 AD 14 35 85 2A AD 
2E 26 26 52 1E AD E6 BE 
1BE@:21 GA GA GA BA BD D2 21 57 
1BE8:A2 1A 20 @7 1D 58 66 G8 76 


Christopher Chojnacki is a hotel secu- 
rity officer in Port Huron, Michigan. He 
plans to upgrade his 128 system with 
the addition of a RAMDrive, a color print- 
er, and a mouse. 


LA BASIC 


By Farid Ahmad 
One of the shortcomings of 64 BASIC is 
that it doesn't allow the use of labels. A 
label is a subroutine that is assigned a de- 
scriptive name rather than a line number 
or address. Torun the subroutine, you sim- 
ply call the label by its name. Such a fea- 
ture makes a program easy to write and 
even easier to modify. 

La BASIC adds this facility to BASIC. 
It allows the use of labels with GOTO, 
GOSUB, and RESTORE. In addition, it pro- 


vides two new commands for easy cur- 
sor positioning and color control. 


Getting Started 

La BASIC is written entirely in machine 
language. To enter it, use MLX, our ma- 
chine language entry program; see 
“Typing Aids” elsewhere in this sec- 
tion. When MLX prompts, respond 
with the following values. 


Starting address: COO0 
Ending address: C337 


Be sure to save a copy of La BASIC be- 
fore you exit MLX. 


Labels 
A label consists of a REM statement in 
the following format. 


REM=l/abel 


The equal sign (=) distinguishes a la- 
bel in La BASIC from an ordinary REM 
statement. Note that there is no space 
between the REM and the equal sign. 
A space after the equal sign will be 
treated as a part of the label. Labels 
may be up to 27 characters in length 
and may use any character except quo- 
tation marks. Labels may also include 
BASIC keywords. 

The actual BASIC subroutine would 
immediately follow. The keyword RE- 
TURN would mark the end of the rou- 
tine. Here's a very simple example. 


500 REM=PAUSE 
510 FOR P=1T03000: NEXT 
520 RETURN 


Whenever you'd like for the program to 
Pause for a few seconds, you could 
call the PAUSE label with La BASIC’s 
commands. 


La BASIC Commands 
The following commands are available 
in La BASIC. 


SYS 49152, 0 

This command has no parameters. It 
must be used at the beginning of a pro- 
gram before any labels are used. It 
searches through the entire program 
for labels and sets up a table of them, 
their line numbers, and their address- 
es in a separate area of memory. By de- 


fault, the memory under Kernal ROM is 
used, but it can be changed as de- 
scribed later. 


SYS 49152, 1, label 

This is the GOTO command. It trans- 
fers program control to the line that con- 
tains the label. The label parameter 
may be any legal BASIC string, charac- 
ter variable, or a combination of these. 
For example, suppose a program con- 
tains a label such as REM=DRAW TI- 
TLE. This could be called with any of 
the following statements. 


SYS 49152, 1,“DRAW TITLE” 
TS$="DRAW TITLE”: SYS 49152, 1, TS 
AS="DRAW”: SYS 49152, 1, AS+"' TITLE” 


SYS 49152, 2, label 

This is the GOSUB command. It works 
like the normal GOSUB, except that con- 
trol is transferred to the subroutine 
that starts with the specified label. The 
subroutine should end with a RETURN 
statement as usual. The label can be 
specified as shown previously. 


SYS 49152, 5, label 
This is a selective RESTORE. After this 
command is executed, the DATA point- 
er will be set to the line containing the 
label. The label can be specified as 
with the previous command. 

The remaining two commands don't 
use labels. However, they make pro- 
gramming easier. 


SYS 49152, 3(row, column, color 

Note that there is no closing pa- 
renthesis. This command will clear the 
screen, position the cursor at the spec- 
ified row and column, and set the text 
color. The row may be from 0 to 24, 
and the column from 0 to 39. Values out- 
side this range produce an ILLEGAL 
QUANTITY ERROR. 


SYS 49152, 4(row, column, color 
This command is similar to the previ- 
ous one, except that the screen isn't 
cleared before positioning the cursor. 
The color parameter may be used in 
two ways. If you want to change the 
printing color without changing the 
text already onscreen, use any Commo- 
dore color number from 0 to 15. For ex- 
ample, SYS 49152, 4(0, 0, 1 will 
change the printing color to white. 


OCTOBER 1992 COMPUTE G-29 


PROGRAMS 


If you want the color change to af- 
fect the text that is already on the 
screen, add 100 to the color number. 
SYS 49152, 4(0, 0, 101 will change the 
color of all the onscreen text to white 
and make white the printing color. 

In both of the above commands, the 
color parameter is optional. If you don't 
wish to change the text color, leave out 
this parameter as well as the preced- 
ing comma. 


Error Messages 
La BASIC may generate the following 
error messages. 


LABEL USED TWICE IN LINES: 11,12 


LABEL TOO LONG 
This error occurs when an attempt is 
made to define or call a label longer 
than 27 characters. 


LABEL NOT FOUND 


MISSING LABEL 
This error occurs if a null string is spec- 
ified as the label in the GOTO, 


GOSUB, or RESTORE statement. 


OUT OF LABEL MEMORY 
Label memory may be increased as de- 
scribed below. 


Label Storage 

By default, the labels are stored under 
Kernal ROM. To use some other mem- 
ory area, use the following statements 
with appropriate line numbers at the be- 
ginning of the program (before the SYS 
49152, 0 command). 


5 POKE 49967,B0/256: POKE 49968,B0- 
INT(B0/256)*BO 
10 TP=TP-32: POKE 49969, TP/256: POKE 
49970,TP-INT(TP/256)*BO 


In this case BO equals the bottom of 
the storage area, and TP equals the 
top of the storage area. 

Each label requires 32 bytes of stor- 
age, so you can have 32 labels per 1K 
of memory. Thus, if the default memo- 
ry area is used, up to 256 labels may 
be defined. 

The advantage of storing labels ina 
separate area of memory is that La BA- 
SIC doesn't have to look through the en- 
tire BASIC program each time a label 


G-30 COMPUTE OCTOBER 1992 


is used. This can speed things up con- 
siderably. The speed gain will be espe- 
cially significant in long programs that 
contain many subroutines and REM 
statements. As long as the REM state- 
ments are placed between two subrou- 
tines, they won't slow BASIC down and 
your programs will run faster. 


Command Summary 


SYS 49152, 0 Set up table of 
labels 

SYS 49152, 1, GOTO label 

label 

SYS 49152, 2, | GOSUB label 

label 

SYS 49152, 3 

(row, column, Clear screen, posi- 

color tion cursor, set color 

SYS 49152, 4 Position cursor, set 

(row, column, color 

color 

SYS 49152, 5, | RESTORE to line con- 

label taining label 

LA BASIC 


C@60:26 FD AE 26 9E B7 EG Gl 7F 
CGG8:FG 19 EG G2 FO 1E EG 83 49 
CG1G:FG 14 EG G4 FG 13 EG B5 G6 
CO18:FG 15 EG G6 FO 14 A2 BE 9E 
C626:4C 8B E3 4C 66 Cl 4C F3 82 
CG28:Cl 4C F8 Cl 4C D6 Cl 4C 66 
C03G:4C C2 A5 2B 85 G3 A5 2C OF 
CG38:85 64 AD 2F C3 85 FD AD 64 
C646:36 C3 85 FE A9 GB AD G1 FA 
CG48:91 FD A9 6G 8D 35 C3 AG BB 
CG56:060 Bl G3 85 65 C8 Bl G3 AB 
C058:85 06 C8 Bl G3 8D 33 C3 CA 
CG66:C8 Bl 63 8D 34 C3 C8 Bl DF 
CG68:03 C9 8F FG G3 4C 4C Cl 82 
C67G:C8 Bl 63 C9 3D FO G3 4C BF 
C@78:4C Cl A2 6G AG G6 Bl G3 68 
CG8G:C9 66 FG 19 9D GF C3 C8 18 
C@88:E8 E@ 1C DG Fl AE 33 C3 BB 
CG9G:AD 34 C3 86 39 85 3A 4C 77 
C998:98 C2 4C CC CB AY BB 9D B7 
CGAG:GF C3 20 8F Cl CO 68 FB 99 
CGA8:34 AG G2 Bl FB 85 G5 C8 96 
CGBG:Bl FB 85.06 A9 37 85 G1 51 
C@B8:58 AQ Fl AG C2 26 1E AB 97 
CGCG:A6 G5 A5 66 28 CD BD AY 49 
C@C8:2C 26 D2 FF AE 33 C3 AD 3A 
C@DG:34 C3 26 CD BD AY 8D 26 GE 
CGD8:D2 FF 6C G2 G3 AD 35 C3 6E 
CGEG:FG GA AQ DC AG C2 26 1E CE 
CGE8:AB 4C 65 A4 AG GG 38 AS 65 
CGFG:63 E9 G1 91 FD C8 A5 G4 GA 
COF8:E9 @@ 91 FD C8 AD 33 C3 A8 
C10G:91 FD C8 AD 34 C3 91 FD 91 
C168:C8 18 A5 G3 69 G2 85 G3 3C 
C11G:A5 G4 69 GG 85 G4 A2 GO 16 
C118:BD GF C3 C9 GG FG 37 91 BE 
C126:FD C8 E8 4C 18 Cl 91 FD 9F 


C128:18 A5 FD 69 28 85 FD A5 38 
C130:FE 69 66 85 FE A5 FE CD 40 
C138:32 C3 FO 64 BB G9 98 GC FA 
C14G:A5 FD CD 31 C3 96 G5 AD F6 
C148:01 8D 35 C3 AY GG AD B1 22 
C156:91 FD A5 65 85 63 AS @6 AA 
C158:F@ @5 85 G4 4C 4F CO 60 G8 
C166:28 74 C2 20 8F Cl CO 1 71 
C168:D@ 1B AG 6G Bl FB 85 7A 32 
C176:C8 Bl FB 85 7B C8 Bl FB FA 
C178:85 39 C8 Bl FB 85 3A AQ 55 
C180:37 85 G1 58 6@ AQ AC AG 4A 
C188:C2 26 1E AB 4C 65 A4 AD E2 
C196:2F C3 85 FB AD 36 C3 85 48 
C198:FC 78 AQ 34 85 Gl AG Bl AZ 
C1AG:Bl FB F@ 2A AG G4 A2 BO 17 
C1A8:Bl FB F@ 1A DD GF C3 D@ 47 
C1B@:85 C8 E8 4C A8 Cl 18 A5 EC 
C1B8:FB 69 26 85 FB A5 FC 69 CA 
C1C6:68 85 FC 4C 9E Cl BD OF 96 
C1C8:C3 DG EB AG G1 66 AG OO B4 
C1D@:A9 37 85 G1 58 66 AY B3 52 
C1D8:20 FB A3 20 74 C2 A5 7B 57 
C1EG:48 AS 7A 48 A5 3A 48 AS 12 
C1E8:39 48 AOS 8D 48 26 63 Cl 74 
C1FG:4C AE A7 AY 93 26 D2 FF 98 
C1F8:A9 28 20 FF AE 20 9E B7 4A 
€200:86 62 26 FD AE 20 9E B7 18 
C268:8A A8 A6 62 EB 19 BB 37 F5 
C216:CG 28 BG 33 18 26 FO FF 6C 
C218:A8 66 Bl 7A C9 2C DG BD 79 
C226:20 FD AE 20 9E B7 EG 63 G6 
C228:B@ 64 8E 86 62 60 38 8A CD 
C23G:E9 64 AB GG 8D 86 B2 99 FB 
C238:00 D8 99 GB D9 99 BB DA 37 
C246:99 66 DB C8 D@ Fl 66 A2 4C 
C248:6E 4C 8B E3 20 74 C2 20 10 
C250:8F Cl C@ G1 FO G3 4C 85 E7 
C258:Cl AG 86 Bl FB 85 41 C8 43 
C260:Bl FB 85 42 C8 Bl FB 85 1D 
C268:3F C8 Bl FB 85 46 AQ 37 6D 
C276:85 G1 58 60 20 FD AE 26 86 
C278:9E AD 26 A3 B6 AA FO 22 5B 
C280:C9 1C BG 14 85 62 AD BO BE 
C288:Bl 22 99 OF C3 C8 C4 B82 60 
C296:D6 F6 AI BB 99 BF C3 6G 62 
C298:A9 BD AG C2 20 1E AB 4C BF 
C2AG:65 A4 AI CD AG C2 26 1E 82 
C2A8:AB 4C 65 A4 12 4C 41 42 94 
C2BG:45 4C 20 4B 4F 54 20 46 27 
C2B8:4F 55 4B 44 66 12 4C 41 6B 
C200:42 45 4C 20 54 4F 4F 26 E2 
C2C8:4C 4F 4E 47 66 12 4D 49 B2 
C2D6:53 53 49 4B 47 20 4C 41 77 
C2D8:42 45 4C 66 12 4F 55 54 27 
C2EG:26 4F 46 20 4C 41 42 45 46 
C2E8:4C 20 4D 45 4D 4F 52 59 40 
C2F0:60 12 4C 41 42 45 4C 20 78 
C2F8:55 53 45 44 26 54 57 49 35 
C300:43 45 26 49 4B 20 4C 49 E7 
C308:4E 45 53 28 3A 26 88 68 C6 
C31G:00 GB GB GB GB BB BB BB 97 
C318:06 G6 GB GG BB GB BG GB OF 
C326:60 G0 GG GB BB BB BH BB AT 
C328:00 G6 GB GG BG GO BG BB AF 
C330:E0 DF FF 98 86 66 BB 86 20 


Farid Ahmad, the author of Sprint III 
(June 1992), lives in Islamabad, Paki- 
stan. 


SPEEDSPELL 


By Daniel Lightner 

SpeedSpell Utility Program (SUP) and 
SpeedSpell are a pair of programs for the 
64 that can check SpeedScript docu- 
ments for spelling errors. SUP is used to 
create and edit SpeedSpell dictionary 
disks, and SpeedSpell checks the spell- 
ing. If you already have COMPUTE's 
SpeedCheck, SpeedSpell can utilize 
your SpeedCheck dictionary. Both SUP 
and SpeedSpell are written in machine lan- 
guage. To enter them, you'll have to use 
MLX, our machine language entry pro- 
gram; see “Typing Aids” elsewhere in 
this section. When entering SUP with 
MLX, respond with the following values at 
the prompis. 


Starting address: 0801 
Ending address: 1100 


When entering SpeedSpell, respond 
with these MLX values. 


Starting address: 0801 
Ending address: 1518 


Be sure to save copies of these pro- 
grams after you've finished typing. 


The Utility 

Load and run SUP as you would any 
BASIC program. When the menu ap- 
pears, choose option 1 to create a new 
dictionary disk. You'll have the option 
to format the disk. Before you answer 
the prompt, be sure that you place a 
new disk into drive 8. Never use a disk 
that contains any important files. 
Choose Y to format and N to abort. 
SUP prompts you to place the target 
disk in the disk drive and press the 
space bar to begin formatting. 

SUP formats the disk and puts end- 
of-file markers on certain sectors. The 
program puts a unique ID of SS on its 
dictionary disks, so try to avoid using 
this ID on SpeedScript or SpeedSpell 
disks. 

After a disk has been formatted, you 
won't need to use this option again 
with that disk. Using option 1 on a val- 
id dictionary disk will destroy any infor- 
mation that it may contain. 

SUP sets up 104 storage areas, 
with each area containing six blocks. 
Each letter of the alphabet has four ar- 


eas assigned to it, and each area can 
hold up to 1535 characters and one 
end-of-file marker. Each of those four ar- 
eas is designed to hold words whose 
second letter falls within a certain 
range of characters. For example, the 
first area assigned to the letter A 
would hold words that begin with A 
and whose second letter falls within the 
range A-H. The next area assigned to 
A would contain words whose second 
letters fall within the range /-N. The 
next area would be for letters O-7, and 
the last area would be for U-Z. 

Following this group, the next four ar- 
eas would be assigned to the letter B, 
then C, and so on. This system re- 
serves space for 6140 characters for 
each letter. Words are stored in these 
areas back to back, minus the first char- 
acter, with bit 7 of the last character 
set. By storing words in this fashion, 
SpeedSpell can check a text file much 
faster than the original SpeedCheck. 

A newly created dictionary contains 
no words. It must be compiled by en- 
tering words one at a time, using op- 
tion 2, or from SpeedSpell during an ac- 
tual spell-checking session. With op- 
tion 2, just type the word that you wish 
to enter and press Return. If the word 
already exists in the dictionary, it will 
be ignored. 

Option 3 lets you delete any mis- 
spelled words that may be in your dic- 
tionary. Just follow the same steps 
used in option 2. 

Option 4 lets you look at an area of 
words. Choose this option, and you'll 
be prompted for the first letter of the 
word. Next, you'll have to enter a num- 
ber from 1 to 4, depending on the 
word's second letter. The ranges will 
be listed so you can easily decide 
which range is correct. When the list- 
ing starts, you can freeze it by holding 
down the space bar. It restarts when 
you release it. 

If you have a SpeedCheck diction- 
ary, use option 5 to add its words to 
the SpeedSpell dictionary. It's better to 
do this before you put any words in 
your SpeedSpell dictionary because 
SUP won't check for duplicate words 
while adding the SpeedCheck listing. 
You'll be prompted as to which disks to 
place into the drive. 

Use option 6 when you wish to exit 
SUP. 


SpeedSpell 

Once you have a working dictionary, 
use SpeedSpell to check the spelling 
of your SpeedScript documents. Load 
and run SpeedSpell as you would a BA- 
SIC program. When the menu ap- 
pears, choose the L option to load a 
SpeedScript document for checking. 

After your file loads, SpeedSpell rac- 
es through the document, setting 
flags to determine which words will be 
searched for in the dictionary. Speed- 
Spell uses a specially formatted diction- 
ary disk so that it can rapidly find cer- 
tain words. After SpeedSpell has set its 
flags, it'll prompt you to insert the dic- 
tionary disk in drive 8 and press the 
space bar. SpeedSpell checks for the 
SS ID to be sure that it's a dictionary 
disk. Be sure that the other disks you 
use have a different ID. 

Next, SpeedSpell starts loading cer- 
tain sectors from the disk and check- 
ing the document for the words found 
in those sectors. SpeedSpell only 
checks words more than four charac- 
ters long. This process can take sever- 
al minutes if the dictionary is large. The 
dictionary can store 24 disk blocks of 
words for each letter of the alphabet. Af- 
ter the document has been checked, 
you can start editing words. Use the G 
option to get the first misspelled word. 
If no words are found, SpeedSpell re- 
sponds with an End of file! bar and the 
Inst/Del key to correct the spelling. 
This is a good time to have a paper dic- 
tionary handy. Press Return to place 
the corrected word in the document. 

If a word is correct but not in your dic- 
tionary or if the word has been edited, 
you can add the word to the dictionary 
by selecting the P option. SpeedSpell 
checks the dictionary automatically for 
the word before it enters it. It will not 
save duplicate words. 

Function key f7 can be used to re- 
call the last misspelled word. It will re- 
call the word even if it has been edit- 
ed and entered into the dictionary. 

Finally, when the last word has 
been fixed, select the S option to save 
the file to disk. Remember to swap 
disks. SpeedSpell looks at the ID to be 
sure that you've removed the diction- 
ary disk. 

SpeedSpell marks the misspellings 
by adding a value of 128 to each char- 
acter. If you use SpeedScript stage 1 


OCTOBER 1992 COMPUTE G-31 


PROGRAMS 


or stage 2 commands, try not to put 
them in bunches of more than four. 
SpeedSpell will mistake them for mis- 
spelled words and subtract a value of 
128 from them, leaving them as use- 
less letters in the document. 

Choose Q to quit SpeedSpell. Be 
sure to make backup copies of all 
your important SpeedScript disks, 
SpeedSpell, SUP, and especially your 
dictionary. 


SUP 


G801:0B G8 76 17 9E 32 34 30 6E 
6809:37 68 GG GB 26 26 24 20 96 
G811:20 26 26 26 26 AG C4 BO 86 
@819:3C G8 99 F8 6G BO FD G8 F6 
0821:99 33 63 88 DG Fl AG B9 4C 
0829:B9 GC G8 99 FF G3 88 DG Al 
@831:F7 A9 D7 85 2D AO 13 85 B6 
G839:2E 4C 66 G1 GA 60 G2 D7 31 
G841:13 37 16 B9 6E 69 99 E8 FY 
G849:07 C8 D@ F7 EE 62 @1 EE 19 
@851:85 G1 C6 F9 D@ ED A2 G3 23 
G859:28 34 63 FG 33 C9 G7 DO 95 
G861:16 A2 G1 26 34 G3 DB GA AG 
@869:A2 04 26 34 G3 18 69 G7 65 
G871:18 G5 A2 BA 26 34 G3 85 1D 
0879:A8 A5 A7 85 AS AS FE 85 FB 
G881:F7 AS FF 85 F8 26 6C @3 73 
9889:A5 F8 85 FF A5 F7 85 FE 72 
G891:E8 26 34 G3 DG 1E A2 8 21 
G899:26 34 G3 AG G2 84 AB 85 2A 
@8A1:A6 18 AS FC 65 A6 85 F7 58 
68A9:A5 FD 65 A7 85 F8 26 6C EF 
68B1:03 4C 13 G1 E8 26 34 63 FB 
G8B9:D@ 1C AG G3 84 AB EB 26 36 
G8C1:34 03 FO G8 A2 G8 20 34 F4 
68C9:03 4C 5C Gl A2 GF 26 34 CF 
68D1:03 E6 A7 4C 5C G1 E8 20 AF 
68D9:34 63 D@ GA EB 26 34 83 B2 
G8E1:18 69 G4 A8 DG D6 EB 26 37 
G8E9:34 63 DO GA A2 G2 2G 34 21 
68F1:03 18 69 G6 D@ ED A2 68 A2 
68F9:20 34 G3 D@ E6 AI GG 85 F7 
6901:A7 A4 FB F@ @C G6 FA 2A 37 
6909:26 A7 C6 FB CA D@ F2 AB DB 
6911:60 48 Bl FE 85 FA AQ 68 FE 
G919:85 FB 68 A4 FE D@ 2 C6 4A 
6921:FF C6 FE C@ E7 D@ DE A4 BS 
G929:FF CO G7 DO D8 AY 37 85 BA 
6931:01 58 4C GD G8 A4 AB FO 49 
6939:22 AS F7 38 E5 A8 BG G3 7E 
0941:C6 F8 38 85 F7 AS FC E5 8A 
G949:A8 BO 62 C6 FD 85 FC Bl 3A 
G951:F7 88 91 FC 98 DG FB C4 42 
6959:A9 FG GA Bl F7 C6 FD C6 76 
961:F8 C6 A9 16 EC 66 78 E6 98 
9969:01 4C 16 G8 66 GG GB G8 73 
6971:C8 G7 9E 32 30 36 31 E3 41 
979:92 @9 AX 26 8D B2 92 Cl 6C 
6981:8D 18 D9 G8 EF 8D 28 @3 25 
9989:76 AB 2G 11 21 DG 26 C7 28 
9991:42 26 FA 25 4D @D 26 CC GA 
G999:86 1F @@ AQ 45 AA 38 ll A4 
G9A1:85 FC CG 59 G3 GO FG AB GE 
69A9:54 B8 1E CO 3A D3 G1 SF 66 


G-32. COMPUTE OCTOBER 1992 


G9B1:31 
G9B9:33 
G9C1:FB 
@9C9:AE 
@9D1:06 
@9D9:A5 
@9E1:8D 
@9E9:59 
GOF1:EG 
G9F9:67 
GAG1:80 
@AG9:GF 
@A11:61 
@A19:5A 
@A21:7A 
GA29:62 
GA31:9B 
GA39:67 
@A41:25 
GA49:AG 
GA51:68 
GA59:D1 
GA61:80 
GA69:FO 
@GA71:71 
GA79:4A 
GA81:89 
GA89:A8 
GA91:48 
GA99:G1 
@AAL:A5 
GAA9: G3 
@AB1:3B 
GAB9: GA 
GAC1:CE 
GAC9:A2 
@AD1:8A 
GAD9: 48 
GAE1:0A 
GAE9: 48 
GAF1:01 
GAF9:BF 
@B@1:C5 
@BG9:38 
@B11:0A 
@B19:14 
@B21:GA 
@B29: 66 
@B31:E6 
6B39:D4 
6B41:28 
@B49:DG 
@B51:34 
6B59:6D 
GB61:CG 
@B69:C4 
@B71:45 
@B79:00 
@B81:CB 
6B89:58 
GB91:26 
@B99:A2 
GBA1: 40 
G@BA9:A2 
@BB1:F6 
@BB9:G5 
@BC1: 36 
@BC9: 3E 


17 
67 
cg 
9c 
sai, 
AA 
69 
FC 
OF 
59 
13 
89 
OF 
Bo 
2B 
OB 
18 
ct) 
E2 
4G 
gc 
El 
G3 
D8 
BG 
cg 
AC 
E4 
96 
8c 
9D 
89 
02 
FE 
OF 
86 
63 
E6 
EE 
GF 
4c 
ol 
6E 
AA 
36 
AG 
ce 
38 
26 
26 
6B 
4c 
CE 
G1 
16 
62 
86 
GA 
GE 
93 
58 
cé 
41 
EC 
4D 
Dg 
18 


@BE1:C5 
@BE9:99 
@BF1:81 
GBF9:93 
GCG61:66 
@CG9:FA 
@C11:0C 
@C19:AE 
@C21:48 
@C29:EC 
6C31:12 
6C39:68 
0C41:16 
6C49:66 
9C51:98 
9C59:66 
@C61:A5 
GC69:G1 
@C71:47 
6C79:8C 
GC81:9C 
@c89:54 
@C91:56 
@C99:DG 
@CA1:85 
GCA9:A8 
@CB1:3C 
@CB9: 21 
@ccl:14 
@CC9: G2 
gcD1:31 
@CD9:C7 
GCE1:86 
GCE9:10 
@CF1:31 
@CF9:D4 
G@DG1:AA 
@DO9:F5 
@D11:FF 
@D19:C2 
@D21:9E 
@D29:A5 
@D31:85 
@D39:E5 
@D41:58 
GD49:89 
@D51:C9 
@D59: 48 
6D61:1F 
@D69:AA 
@D71:88 
GD79:A9 
@D81:27 
@D89:EE 
@D91:81 
@D99:45 
@DA1:E9 
@DA9: 26 
GDB1:68 
GDB9: 88 
@DC1:FF 
@DC9:BG 


Ag 
47 
DG 
Bg 
DA 
08 
24 
C4 
48 
cs 
12 
1F 
84 
86 
FE 
69 
85 
91 
cé 
85 
8E 
3E 
02 
Bl 
7D 
66 
75 
21 
16 
17 
35 
“) 
1E 
BO 
FS 
ol 
GE 
E4 
EO 
Ct) 
cg 
1A 
85 
83 
9E 
cg 
28 
5B 
F2 
93 
18 
3E 
40 
AC 
91 
4D 
G3 
71 
57) 
06 
gat 
8E 


@DF1:BG 
GDF9:G2 
GEG1:29 
GEG9:60 


58 
B2 
GE 
GG 


@F41:C9 
GF49:60 
GFS1:FE 
@F59:1C 
GF61:20 
GF69:41 
@F71:49 
GF79:4F 
GF81:CG 
GF89:41 
GF91:36 
GF99:31 
GFA1:29 
GFA9:86 
GFB1:3A 
GFB9:9E 
GFC1:8A 
GFC9:B8 
@FD1:54 
GFD9:92 
GFE1:34 
GFE9:93 
GFF1:G4 
GFF9:39 
1661:99 
1609:43 
1611:54 
1619:16 
1621:26 
1929:1D 
1631:88 
1639:BD 


FQ 
D6 
66 
48 
17 
42 
85 
28 
26 
cé 
59 
37 
2D 
2D 
EF 
1c 
9G 
4G 
52 
Da 
82 
29 
59 
EC 
A2 
16 
25 
52 
AT 
@D 
91 
4c 


04 
Ag 
GE 
53 
28 
56 
14 
16 
5A 
52 
@D 
69 
32 
2B 
2A 
36 
G2 
FB 
DD 
1c 
43 
3c 
26 
4P 
42 
44 
58 
48 
52 
9A 
cé 
55 


69 
77 
cB 
5c 
14 
89% 
24 
4a 
GA 
48 
s}e4 
DA 
45 
8c 
pc 
GA 
DA 
42 
E3 
c8 
FC 
7B 
BB 
2D 
c3 
9A 
6D 
8E 
Al 
39 
65 
AC 


10641:4C 
1649252 
1651:0F 
1659:43 
1661:DA 
1069:BA 
1671:45 
1079:0E 
1081:56 
1689:49 
1691:C9 
1699:1E 
16A1:53 
16A9:36 
16B1:49 
16B9:91 
16C1:2D 
16C09:16 
16D1:38 
106D9:50 
10E1:06 
10£9:63 
10F1:66 
10F9:08 
11061:6D 
1109:6D 
1111:1¢6 
1119:12 
1121:15 
1129:17 
1131:1A 
1139:1C 
1141:1F 
1149:86 
1151:8A 
1159:07 
1161:11 
1169:65 
1171:4F 
1179344 
1181:4C 
1189:54 
1191:9A 
1199:58 
11A1:64 
11A9:49 
11B1:96D 
11B9:65 


4A 
41 
SA 
52 
53 
A3 
8B 
80 
49 
4P 
85 
19 
CM 
29 
54 
56 
68 
14 
34 
54 
G1 
G4 
G6 
Dd 
6B 
@D 
16 
12 
15 
17 
1A 
1D 
1F 
GE 
87 
6D 
04 
71 
52 
45 
4D 
55 
20 
45 
78 
4E 
ol 
oo 


SPEEDSPELL 
$801:0B G8 


9809:37 
G811:20 
9819:3C 
@821:99 
G829:B9 
@831:F7 
G839:2E 
9841:18 
G849:987 
@851:65 
9859226 
@861:16 
G869:A2 
6871:108 
G879:A8 
GO881:F7 
G889:A5 
G891:E8 
G899:26 


Ct) 
20 
98 
33 
6c 
Ag 
4c 
8E 
cs 
G1 
34 
A2 
G4 
65 
AS 
A5 
F8 
26 
34 


59 
4D 
@D 
45 
4B 
63 
54 
Fl 
45 
4E 
35 
Ci) 
G2 
CB 
@D 
El 
cB 
18 
38 
58 
ol 
G4 
66 
66 
6B 
GE 
16 
13 
15 
18 
1A 
1D 
26 
OF 
ec 
Us) 
OA 
o8 
44 
46 
4E 
56 
26 
45 
62 
26 
Es 
oo 


76 
0G 
26 
99 
63 
68 
78 
66 
13 
Dg 
Ccé 
63 
61 
26 
A2 
A7 
FPF 
85 
34 
03 


20 
gD 
F9 
41 
D2 
C4 
45 
71 
57 
41 
OF 
c3 
06 
Ur) 
EG 
41 
Ut) 
1c 
3c 
5c 
02 
@4 
@D 
69 
gc 
GE 
Dg 
13 
E7 
18 
1B 
1D 
3c 
83 
89 
06 
16 
03 
3F 
47 
4F 
57 
56 
44 
44 
44 
62 
EA 


17 
oo 
26 
F8 
88 
99 
85 
61 
B9 
F7 
F9 
FG 
26 
34 
GA 
85 
85 
FF 
63 
AG 


50 
B9 
B8 
53 
B8 
33 
89 
El 
E9 
52 
co 
46 
32 
26 
TE 
BO 
CT) 
26 
40 
60 
62 
Da 
67 
09 
6c 
GE 
ct) 
13 
ol 
18 
1B 
1E 
F8 
39 
62 
gc 
78 
34 
26 
48 
56 
58 
55 
43 
49 
52 
69 
80 


9E 
26 
26 
CT) 
De 
FF 
2D 
GE 
6E 
EE 
Dg 
33 
34 
63 
26 
Ag 
F8 
AS 
De 
G2 


4F 
EF 
E7 
4E 
32 
63 
20 
F3 
43 
68 
44 
4c 
1D 
51 
91 
2D 
68 
28 
48 
36 
@D 
65 
68 
OA 
De 
OF 
11 
14 
16 
19 
1c 
1E 
1c 
32 
GE 
95 
c2 
G4 
42 
4A 
52 
SA 
26 
45 
4B 
56 
15 
Uy) 


34 
20 
C4 
FD 
AG 
88 
18 
@5 
99 
G1 
A2 
67 
Da 
69 
G3 
FE 
6C 
85 
A2 
Ag 


47 
28 
63 
91 
cl 
44 
A4 
Bl 
54 
38 
44 
45 
28 
55 
E2 
2D 
6c 
2c 
4c 
F8 
63 
65 
68 
OA 
6G 
oF 
12 
14 
17 
19 
1c 
1F 
8F 
12 
ol 
6B 
1D 
57 
43 
4B 
53 
gD 
53 
43 
26 
45 
1B 
i) 


36 
26 
B9 
a8 
69 
De 
85 
78 
E8 
EE 
63 
Dg 
OA 
07 
85 
85 
63 
FE 
68 
85 


@8A1:A6 
@8A93A5 
68B1:63 
@8B9:D9 
@8C1:34 
@8C9: 03 
98D1:63 
@8D9:34 
@8E1:18 
@8E9:34 
O8F1:03 
G8F9:20 
G901:A7 
G909:26 
G911:60 
@919:85 
@921:FF 
0929:FF 
@931:61 
0939222 
0941:C6 
6949:A8 
G951:F7 
G959:A9 
9961:F8 
9969:61 
6971:CB8 
6979:54 
6981:85 
6989:04 
@991:Cl 
6999:83 
@9A1:D6 
G9A9:86 
@9B1:DG 
G9B9:62 
@9C1:85 
69C9:08 
@9D1:24 
@9D9:Cl 
G9E1:1B 
G9E9:1E 
G9FL:FO 
GOFO:FO 
@AG1L:Al 
@AG9:4B 
@A11:7D 
@A19:1C 
@A21:75 
GA29:13 
GA31:8D 
GA39:18 
@A41:8B 
GA49:84 
@A51:29 
GAS9:ED 
GA61:86 
@A69:7D 
GA71:24 
GA79:B9 
GA81:30 
GA89:03 
GA91:C9 
GA99:G6 
GAA1L:E3 
GAA9:B9 
GABL:EC 
GAB9:78 
@AC1:97 
GAC9:DD 


65 
85 
E8 
84 
A2 
A2 
5c 
E8 
De 
A2 
DG 
E6 
gc 
CA 
85 
FE 
E7 
D8 
08 
ES 
F7 
FD 
98 
F7 
EC 
60 
36 
AS 
D7 
8D 
ag 
17 
8D 
ol 
26 
44 
85 
D2 
2D 
DG 
28 
G2 
FO 
Dl 
CA 
8D 
8A 
20 
26 
D9 
8D 
CE 
62 
6A 
4 
18 
EF 
16 
16 
FE 
B7 
Ag 
48 
96 
23 
98 
63 
CE 
F9 
18 


OCTOBER 1992 COMPUTE 


PROGRAMS 


@AD1:BG 
GAD9:E6 
GAE1:1A 
GAE9: GF 
@AF1:FC 
GAF9:11 
@BO1:FB 
GBG9:C8 
@B11:@D 
9B19:81 
0B21:16 
9B29:26 
@B31:68 
@B39:A5 
9B41:DP 
GB49:66 
OB51:GA 
@B59:73 
@B61:25 
@B69:D7 
0B71:60 
6B79:00 
0B81:80 
GB89:76 
OB91:6A 
@B99:85 
@BA1:0B 
@BA9:AC 
@BB1:18 
@BB9:DG 
GBC1:1E 
OBC9:E2 
GBD1:GE 
@BD9:99 
@BE1:60 
GBE9:14 
@BF1:6D 
OBF9:9A 
GCG1:E3 
G@CO9:A9 
6C11:8A 
@C19:AD 
@C21:A0 
@C29:C9 
GC31:04 
6039:18 
6C41:14 
6c49:14 
0C51:78 
@C59:02 
@C61:FB 
@C69:FC 
6C71:D6 
GC79:C4 
@C81:FD 
0C89:4A 
0c91:92 
9C99:G4 
GCAL: FG 
GCA934C 
@CB1:FF 
GCB9:69 
@CC1:EE 
@CC9:F3 
@cD1:85 
@CD9:C4 
GCE1:63 
GCE9:B4 
GCF1:44 
GCF9:1C 


G-34 


4B 
G2 
gl 


BO 
81 
c3 
A4 
9c 
45 
62 
AF 
GA 
B9 
FD 
65 
cD 
06 
GA 
co 
cg 
68 
16 
oo 
Cy) 
80 
EA 
32 


‘FO 


24 
41 
81 
ao 
B4 
OF 
DG 
68 
46 
EG 
4D 
Ol 
68 
25 
GE 
ce 
14 
19 
G2 
38 
FB 
22 
43 
33 
BE 
26 
26 
47 
63 
46 
85 
A3 
8D 
99 
G1 
E8 
6a 
86 
Go 
6c 
@1 
51 
18 
Uy) 
2 


COMPUTE OCTOBER 1992 


9D21:69 
6D29:47 
@D31:F9 
@D39:44 
@D41:96 
@D49:92 
6D51:BC 
@D59:G5 
@D61:85 
GD69:FG 
@D71:09 
@D79:8A 
@D81:58 
GD89:5F 
@D91:Ba 
6D99:A9 
GDA1:61 
GDA9: 86 
@DB1:4D 
6DB9:15 
@DC1:A2 
@DC9:DB 
@DD1:1F 
GDD9:A2 
@DE1:DD 
GDE9:96 
@DF1:FD 
GDF9:E3 
@EG1:7A 
GEG9:05 
@E11:20 
GE19:00 
@E21:27 
GE29:FB 
GE31:Bd 
GE39:12 
GE41:2B 
GE49:F9 
GE51:A9 
GE59:8D 
GE61:FC 
GE69:AE 
GE71:CC 
GE79:B3 
GE81:20 
GE89:A5 
@E91:DF 
GE99:AG 
GEA1:8¢ 
GEA9:C6 
GEB1:B4 
GEB9:A9 


UWAIBWRAWAHRIIA 


Dl 
73 
6F 
9A 
DB 
68 
c2 
FO 
35 
4A 
AD 
BA 
AB 
4E 
48 
54 
8a 
ol 
4c 
6C 
5c 
Ds 
A2 
59 
AD 
B4 
8D 
FO 
68 
62 
CA 
64 
EO 
26 
BL 
ol 
E4 
57 
CE 
16 
FB 
26 
95 
6B 
6F 
BE 
AE 
86 
62 
5E 
36 
61 
AG 
19 
62 
1D 
6G 
7B 
45 
7B 
Uh) 
96 
AC 
B2 
F6 
ce 


3c 
8E 
39 
4G 
5B 
28 
21 
206 
oo 
1c 
@4 
4A 
95 
61 
22 
E9 
36 
@5 
Cc 
@8 
OF 
6A 
45 
41 
GE 
BC 
DG 
0G 
36 
7E 
61 
16 
99 
8c 
4E 
62 
DG 
29 
5A 
85 
ES 
57 
87 
44 
93 
2D 
06 
DE 
26 
26 
68 
8E 
FF 
D5 
39 
ol 
co 
gc 
79 
6E 
G2 
BG 
89 
F6 
BF 
81 


OF31:03 
GF39:26 
GOF41:AA 
GF49:34 
GF51:96 
GF59:8D 
GF61:B9 
GF69:B9 
OF71:BF 
GF79:GA 
GF81:5C 


GFD9:EB 
@FE1:3EE 


1609:65 
1611:26 
1619:80 
1621:62 
1029:4C 
163 


SAMAINDAOASDANVQVUSKPYITDHONS0AATOORa eH 


1159:65 


8D 
GE 
co 
18 
38 
C3 
ED 
18 
98 
7E 
cD 


31 
15 


AC 
12 
88 
BG 
9D 
EP 
G3 
EB 
0B 
EC 
62 
8o 
E8 
69 
96 
81 
pc 
DE 
2B 
26 
Cc 
DG 
AS 
66 
@D 
o7 
60 
oo 
96 
78 
GE 
AQ 
De 
FA 
6B 
82 
4c 
E9 
76 
19 
86 
4c 
B9 


16 
2B 
De 
De 
5 
9A 
68 
54 
41 
16 
26 


4D 
AD 


F3 
69 
@2 
6D 
13 
66 
80 
19 
i) 
59 
OA 
O4 
@1 
18 
80 
86 
UT) 
AD 
36 
i) 
gc 
37 
E9 
FE 
FG 
79 
9c 
BA 
4c 
Ag 
Fl 
99 
c8 
D7 
gc 
D3 
12 
9D 
ol) 
28 
8D 
12 
1E 


1161:6F 
1169:16 
1171:07 
1179:76 
1181:16 
1189:69 
1191:46 
1199:0B 
11A1:04 
11A9:13 
11B1:96 
11B9:27 
11C1:41 
1109:36 
11D1:6C 
11D9:C8 
L1E1:A9 
11E9:4F 
11F1:64 
11F9:4A 
1201:A5 
1209:A9 
1211:B1l 
1219:EC 
1221:20 
1229:5B 
1231:91 
1239:C9 
1241:ED 
1249:80 
1251:56 
1259:E9 
1261:A7 
1269:CO 
1271:01 
1279:62 
1281:FB 
1289:D8 
1291:26 
1299:AD 
12A1:27 
12A9:0A 
12B1:F7 
12B9:C9 
12C€1:34 
12€9: 26 
12D1:96 
1209:81 
12E1:Cl 
1269:31 
12F1: 36 
12F9:00 
1301:30 
1309:A8 
1311259 
1319:1¢c 
1321:45 
1329:FO 
1331:49 
1339343 
1341:51 
1349:53 
1351:6C 


1359:72 


1361:53 
1369:93 
1371:E8 
1379:C3 
1381:55 
1389:6D 


81 
92 
CE 
2c 
Bg 
@3 
F8 
43 
36 
4c 
G1 
FG 
BO 
cs 
DE 
o7 
ec 
09 
Ag 
E@ 
36 
9A 
71 
16 
EF 
Bo 
34 
ol 
8F 
88 
Da 
20 
c2 
18 
AD 
85 
26 
Fl 
E6 
CA 
14 
29 
Ag 
26 
63 
65 
EG 
OB 
4D 
31 
32 
07 
B6 
OF 
oo 
68 
96 
9A 
El 
i) 
B7 
77 
54 
49 
45 
9A 
86 
4P 
42 
9A 


| 1391:0D 


26 
14 
55 
4F 
49 
45 
c3 
cé6 
3E 
c4 
52 
9E 
3E 
16 
86 
12 
2D 
El 
4c 
2D 
OF 
Ot) 
20 
40 
66 
G2 
O4 
6G 
69 
eC 
GE 
@D 
13 
1E 
18 
1B 
1E 
83 
98 
88 
06 
10 
93 
26 
48 
58 
58 
GF 
Us) 


AC 
2B 
A4 
2F 
F4 
54 
D3 
4c 
19 
43 
F7 
1D 
c7 
48 
D7 
CE 
cs 
45 
9A 
2F 
8D 
68 
28 
48 
36 
Do 
@5 
07 
GA 
gc 
0a 
ll 
14 
16 
19 
1c 
1E 
c8 
26 
G8 
12 
23 
G4 
42 
4A 
52 
5A 
1B 
iT) 


1399:3C 
13A1:46 
13A9:CC 
13B1:4E 
13B9:34F 
13C1:CE 
13C9:56 
13D1:9B 
13D9:26 
13E1:49 
13B9:8E 
13F1:62 
13F9:3E 
1461:26 
1469:18 
1411:96 
1419349 
1421:53 
1429:4D 
1431:13 
1439:2D 
1441:10 
1449:36 
1451:56 
1459:9F 
1461:93 
1469:66 
1471:08 
1479:D8 
1481:9D 
1489:0F 
1491:12 
1499215 
14A1:17 
14A9:1A 
14B1:1C 


Daniel Lightner is a frequent contribu- 
tor who seldom misspells words now. 


DYNAMIC MEMORY 


By Frank Gordon 

It's possible to watch the 64 in action by 
redirecting the interrupt vector at 788 and 
789 to a routine that prints selected are- 
as of memory to the screen. Dynamic 
Memory is such a program, and it does 
it 60 times per second. 

Dynamic Memory displays selected ar- 
eas of memory at the top of the screen in 
anine-lne display. Line 1 displays the BA- 
SIC pointers from 43 to 56. Lines 2 and 
3 display the top 80 bytes of the stack. 


Lines 4 and 5 display the 80 bytes of the 
input buffer, and lines 6-9 display the 
first 160 bytes of BASIC memory. 

By examining these, you can see how 
BASIC pointers change, how the stack op- 
erates when you list and run a program, 
and how line numbers are stored in the 
stack's last two bytes. You can also see 
how the input buffer shortens programs 
by tokenizing keywords and how the 
screen editor inserts and deletes lines in 
memory. 


Typing It In 

Dynamic Memory is written entirely in 
BASIC. To help avoid typing errors, 
use The Automatic Proofreader; see 
“Typing Aids” elsewhere in this sec- 
tion. Be sure to save a copy of the pro- 
gram when you've finished typing it in. 


Using Dynamic Memory 

Load and run Dynamic Memory as you 
would any BASIC program, but then en- 
ter SYS 900 to activate the screen. 
Press Clr/Home and cursor down be- 
low the memory display. To deactivate, 
press Run/Stop-Restore. 


Screen Codes 

The display may appear strange be- 
cause it consists primarily of screen 
codes. Text may be easier to compre- 
hend if you switch to upper- and low- 
ercase mode by simultaneously press- 
ing the Commodore key and the Shift 
key. 

On the first line, in the upper left cor- 
ner, you'll see a line that begins with 
the letters ah. These letters represent 
the values of memory locations 43 and 
44, the BASIC program pointer. 
Screen codes a and h equal 1 and 8 in 
low-byte/high-byte format. 

If you place your cursor on a line of 
code and press Return, the line will ap- 
pear in the input buffer, which is line 4 
on the screen. The original code will ap- 
pear shortened because it has been to- 
kenized. For example, list line 185 on a 
clear part of the screen. It should ap- 
pear as the following. 


135 FOR J = 900 TO 969: READK: POKEJ,K 
:NEXT 


Now place your cursor on this line and 
press Return. The line will appear in 
the buffer (line 4) as follows. 


OCTOBER 1992 COMPUTE G-35 


PROGRAMS 


E)J229008 969: kK: J, K:£) @D@:POKEJ.K: 
NEXT@@@@ 


The line number 135 is stored in the 
last two bytes of the stack as @. All 
64 tokens are equal to 128 or greater. 
In the line above, the BASIC keywords 
are represented as follows. 


Token Value Screen code 
FOR 129 la} 
= 178 
TO 164 i 
READ 135 
POKE 151 
NEXT 130 ff 


Modifying Dynamic Memory 
You may wish to modify Dynamic Mem- 
ory to examine other pointers and mem- 
ory areas. If so, load the program and 
enter the following changes. 


25 REM INDEX INTO BUFFER AT 
30 DATA 165,11,141,0,4 rh 
35 REM LINE NUMBER & ADDRESS ~=f\b 
40 DATA 162,5,181,57,157,2,4 Fa 
50 DATA 202,16,248 QF 
60 REM STACK POINTER mK 
65 DATA 186,142,9,4 ay 


135 FOR J=900 TO 978: READK: POKEJ,K: 
NEXT 


Now when you run the program, the 
first line shows the values for the input 
buffer index (11,$b), the current and 
previous line numbers and the address 
of the current BASIC statement (57- 
62, $39-$3E), and the value of the 
stack pointer. Many variations are pos- 
sible with this display. 

You can see a listing of screen 
codes in a number of Commodore pub- 
lications, including Mapping the Com- 
modore 64 and 64C (Appendix G) by 
Sheldon Leemon from COMPUTE 
Books. You can also see them by run- 
ning the following short program. 


5 REM PRINT SCREEN CODES 
10 FOR X=0T0255 

20 POKE 1024+X,X: NEXT 

30 PRINT'{3 DOWN} 


DYNAMIC MEMORY 


MM 5 REM COPYRIGHT 1992 - COMP 
UTE PUBLICATIONS INTL LTD 

- ALL RIGHTS RESERVED 
QS 146 REM ~ REDIRECT INTERRUPT 


G-36 COMPUTE OCTOBER 1992 


VECTOR TO INSERTED PROG 
RAM 

DATA 1206,169,145,141,26, 
3,169,3 

DATA 141,21,3,88,96 

REM SHOW BASIC POINTERS 

{SPACE}43-56 ON 1ST LINE 
OF SCREEN 

DATA 162,13,181,43 

DATA 157,0,4,202,16,248 


AH 15 
RX 26 
HM 25 


QG 36 
EP 40 


SH 76 REM SHOW LAST 8@ STACK B 
YTES ON 2ND & 3RD SCREEN 
LINES 
EF 75 DATA 162,79,189,176,1,15 
7,46,4 
MM 80 DATA 262,268,247 


XK 85 REM SHOW INPUT BUFFER ON 


4TH & 5TH LINE OF SCREE 


N 

DATA 162,79,189,0,2,157, 
120,4 

HH 95 DATA 202,16,247 

CF 190 REM SHOW 1ST 160 BASIC 
{SPACE}PROGRAM BYTES ON 
LINES 6,7,8 & 9 OF SCR 

EEN 

DATA 162,55,189,1,8,157 
,200,4 

DATA 202,16,247 

DATA 162,103,189,57,8,1 
57,0,5 

DATA 262,16,247 

REM BACK TO REGULAR INT 

ERRUPT ROUTINE 

DATA 76,49,234 

FORJ=900T0969: READK: POK 

EJ,K:NEXT 


FB 96 


MP 165 


EC 119 
PS 115 


AD 120 
XA 125 


RC 136 
XH 135 


Frank Gordon is the author of Graphos 
(April 1992). He lives in Orono, Maine. 


SCAN 64 


By Daniel Lightner 

Here’s a short utility program that lets you 
view the entire contents of your 64's mem- 
ory. It's similar to Dynamic Memory, also 
published in this section, but it doesn't re- 
spond to immediate input. 


Entering the Program 

Scan 64 is written entirely in machine 
language. To enter it, use MLX, our ma- 
chine language entry program; see 
“Typing Aids” elsewhere in this sec- 
tion. When MLX responds, reply with 
the following. 


Starting address: COO0 
Ending address: COEF 


When you've finished typing in Scan 
64, be sure to save a copy to disk be- 


fore exiting MLX. 


Using the Program 

Scan 64 is easy to use. Load it with the 
8,1 extension, type NEW, and then 
press Return. To activate the program, 
enter SYS 49152. At the top of the 
screen, Scan 64 displays the range of 
addresses being displayed, followed 
by the contents of the first 512 bytes of 
memory. (Note the ah in bytes 43 and 
44, as mentioned in connection with Dy- 
namic Memory.) 

To scan forward in memory, press 
the right cursor key. To scan back- 
ward, hold down the Shift key while 
pressing the same cursor key. To exit 
the program, press Return. 

You can see the contents of Scan 
64 itself, by scanning locations 49152- 
49663. You can easily spot the words 
MEMORY LOCATIONS on lines 7 and 
8. If you can't, press the Commodore 
key and the Shift key simultaneously to 
enter upper- and lowercase mode. If 
you load other programs before you 
load Scan 64, you can also see their 
contents, depending on their starting 
addresses in memory. 


SCAN 64 
9 00 85 F 


COGB3A B 85 FC A@ G6 28 
CGG8:A9 9A 206 D2 FF AX 93 26 24' 
CG@106:D2 FF B9 D7 CO 20 D2 FF DB 
CG18:C8 CO 12 D@ F5 AS FC A6 64 
C620:FB 26 CD BD A9 26 20 D2 1E 
CO28:FF A9 2D 20 D2 FF AQ 24 C5 
C630:20 D2 FF 18 A5 FB 69 FF E7 
C@38:AA AS FC 69 G1 20 CD BD 96 
CG46:A2 G2 26 AF CO 26 C9 CB 6D 
C@48:18 AS FD 69 26 85 FD AS 4E 
CO5G:FE 69 69 85 FE 20 BA C@ B2 
CO58:E@ 16 D@ E9 AS FB 48 AS SA 
CO6G:FC 48 A2 6G 20 AF CO AI Bl 
C@68:7C 85 FD AOI 64 85 FE 26 38 
C@76:C9 CO 26 BA C@ 18 A5 FD 66 
C@78:69 28 85 FD A5 FE 69 66 45 
C@806:85 FE E@ 10 D@ ED 68 85 26 
CO88:FC 68 85 FB 24 E4 FF C9 71 
CG90:1D FO G9 C9 9D FH 88 C9 25 
C698:8D D@ Fl 69 4C G6 CB 38 4D 
COAG:A5 FB E9 6G 85 FB A5 FC 95 
COA8:E9 64 85 FC 4C G6 CO AD 46 
COBG:D@ 95 FB AI C795 FC A2 4B 
COB8:06 66 18 AS FB 69 26 85 FA 
COCO:FB A5 FC 69 6G 85 FC E8 D8 
C6C8:60 AG GB Bl FB 91 FD C8 A8 
CGDG:CB 20 DB F7 AG BB 66 20 3A 
COD8:4D 45 4D 4F 52 59 26 4C 75 
COEG:4F 43 41 54 49 4F 4E 53 BF 
CGE8:20 GB BB BG BH BB BB GB 7A 


Daniel Lightner is a frequent contribu- 
tor who lives in Sidney, Montana. 


MINDBOGGLE 


By John Cameron 
If you want a challenging yet entertaining 
game that will help you whittle away a few 
hours, look no further. Mindboggle is 
just what you've been looking for. 
Mindboggle (not to be confused with 
Mind Boggle, May 1984) is a strategy 
game for up to four players. Your memo- 
ry will be pushed to the limit as you 
search through a game:board of almost 
200 blocks to locate identical pairs hid- 
den within. As if this wouldn't be hard 
enough, you must also contend with 
three other human or computer players, 
who'll do everything in their power to low- 
er your score while searching for the 
matches themselves. Special blocks 
placed randomly throughout the board 
may be either helpful or harmful to you. 
If used to your advantage, they may 
mean the difference between the joy of 
victory and the agony of defeat. 


Getting Started 

Mindboggle consists of two programs. 
The first is written in BASIC. To avoid 
typing errors, enter it using The Auto- 
matic Proofreader; see “Typing Aids” 
elsewhere in this section. When you've 
finished typing, be sure to save a copy 
of the program before exiting Proofread- 
er. The second program is written in ma- 
chine language and must be typed in 
using MLX, our machine language en- 
try program; see “Typing Aids” again. 
Enter the following values when MLX 
prompts. 


Starting address: C800 
Ending address: CB77 


When you've finished typing, save the 
program to the same disk as the BA- 
SIC portion of the game. Save it with 
the filename BOGGLE.ML before exit- 
ing MLX. 


Game Options 

Load and run the BASIC portion of the 
game. It automatically loads the ma- 
chine language routines. Since Mind- 
boggle is a multiplayer game, it plays 
with one joystick plugged into either 
port or two joysticks. When the title 
screen appears, you'll be asked for the 
number of players. Move either joystick 


to alter the value, and then press the 
, 


fire button. The initial number of play- 
ers is zero. If this value is selected, all 
four player positions will be controlled 
by the computer. 
If human players are competing, the 
game will ask them to type in their 
names. The final question asked is the 
skill level. There are eight levels avail- 
able, ranging from Simple to Difficult. 
In the easier levels, fewer pairs have to 
be found, and a larger number of spe- 
cial blocks are scattered throughout 
the game board. In the difficult levels, 
the board consists almost entirely of 
pairs, with only a few special blocks. 
Once these options are entered, the 
game pauses momentarily to random- 
ly place the matching blocks. The 
length of this pause depends on the 
skill level chosen. Higher levels require 
more time to position the increased 
number of pairs. 


Playing the Game 

When the game begins, you are pre- 
sented with a view of 171 blocks, 
turned so that only their backs are show- 
ing. The players’ names are arranged 
below them, with the current player’s 
name highlighted in white. Scores are 
shown under the names, and the num- 
ber of pairs remaining to be found is 
printed at the bottom of the screen. A 
cursor in the shape of an open rectan- 
gle appears at the top of the screen. 
Its color corresponds to the color in 
which the current player's score is dis- 
played. This helps in determining 
whose turn it is. 

Move this cursor to a block that you 
wish to open. Press the fire button to re- 
veal one of five possible designs. 
When a block is uncovered, the player 
must then find its twin, located some- 
where else on the board. If the second 
block doesn’t match the first, then 
both are turned back over. If the two 
match, that player earns 100 points, 
and both blocks are covered by a mark- 
er in that player's color. Among the spe- 
cial blocks found in the game is one 
that looks like a closed hand. If it's en- 
countered before or after uncovering a 
patterned block, then all blocks which 
match that pattern are revealed. This 
can be advantageous when a pattern 
has more than one twin, thus earning 
the player a greater number of points 
in a single move. 


If one player uncovers several hand 
blocks in a row, play continues until 
that player locates a different block de- 
sign. If any succession of hands ends 
with a happy face block or if this block 
is revealed upon a player's first move, 
then that player is awarded 250 bonus 
points instantly. Stop blocks are rare, 
and they resemble a stop sign with a di- 
agonal line crossed through it. Come 
across one of these at any time, and 
you lose your turn. 

Perhaps the most interesting block 
is the masked thief block. This gray 
block lets you steal 50 points from any 
opponent by changing the opponent's 
colored marker to your own color. If no 
opponent markers are available, then 
select a closed block as the target in- 
stead. Should a closed block be re- 
vealed instead, it will remain open if it's 
not a pattern block. The game contin- 
ues until every pair is revealed. This 
doesn’t necessarily mean that every 
block is opened. There may be some 
special blocks hidden even after the 
last set of twins has been located. At 
this point, the game goes to a special 
wrap-up screen, where the final 
scores and statistics are displayed. 
The winner is the individual with the 
highest score. If two players have the 
same score, the winner is the one with 
the greater number of markers. So try 
to keep as many blocks as you can. 
With the game over, hit the fire button 
to play again. You will be returned to 
the title screen and given the option to 
keep the same players for a second 
game or to change them. Likewise, the 
skill level may then be altered for a 
more or less challenging game, depend- 
ing on your preferences. 


Computer Opponents 

One of the most attractive features of 
Mindboggle is the ability to pit your 
wits against the computer. Though it 
may sometimes seem like the machine 
has the advantage, it actually tackles 
the game much in the same manner 
that we do. It uses a probability func- 
tion to calculate its chances of finding 
a hidden pattern and its match. Like a 
human being, it's more apt to locate a 
block that has been revealed several 
times when there are few blocks remain- 
ing. Its memory capability increases, 
however, at higher skill levels. 


OCTOBER 1992 COMPUTE G-37 


PROGRAMS 


ied GM 16 GOSUB205:2L=0 gen gee aes SP 
In the higher levels, where speci es 
bsele ars Geena a ibaieiorernhe: 17 PRINTLEFTS (DWS, 22) TAB (10 | KS 50 NEXU:NEXN:GOTOS6 
1 q' me) Ipr )"{WHT}NUMBER OF PLAYERS | CM 51 C=FNRN(3)+1:ONCGOSUB52,5 
sis should be placed on memorizing :{CYN}";PL 3,54,55:RETURN 
the locations of patterns, especially 18 GOSUB82:P=PL~(JR=8ANDPL< | DX 52 BL$(K,L)=FI$:RETURN 
those that have been revealed numer- 4)+(JL=4ANDPL>@) :IFFB=0T | MH 53 BLS (K,L)=HPS:RETURN 
ous times you tne necessary 0 | apy SencsuniENle Ge 35 Besta’ )caveznstonn 
use a pad and pencil to j Ww! = ey ued 
notes vinta Tee, for or Etning 20 PL=P:GOTO17 JE 56 PRINT"{CLR}{2}!"B1$"#";: 
i Cele svt 9 21 IFPL=GTHEN32 FORK=1T018:PRINT"S"SPC (3 
patterns don't stay open long. = 22 FORK=1TOPL:GOSUB205: INS= 8) "3"; :NEXT 
In the lower levels, the strategy is dif- "sCT=9 PC 57 PRINT"S$"B1S"$${4}"PLS$ (1) 
ferent. It's often better to search for hap- 23 PRINTLEFTS (DWS, 22) TAB (4) "{2 SPACES}"PLS(2)" 
py faces than the patterns themselves. Bee NAME OF PLAY ie SRaCS Here ye 
Not only do you earn a higher score ER"K"{LEFT}: ";:GOSUB25 2 SPACES}"PLS(4)"{2}8"; 
vai hen aye Bui ailae we patented 24 PL$(K)=LEFTS(INS+" GF 58 PRINT"S$"B2S"%S"SPC (38) "% 
Pamshedin Npoleiel fle Wh {7 SPACES}",8) :NEXT:GOTO &"B1$"'{HOME}" 
rom having your points’stolen. When 32 DR 59 FORK=2T019STEP2:FORL=1T0 
going against a computer opponent, 25 PRINT" {CYN}*"; 19STEP2:PRINTLEFTS (DWS$,K 
it's safest to have markers around the 26 GETAS: IFAS=""THEN26 ) SPC (L) VBS 
middle of the board, rather than the 27 IFA$=CHR$(13)ANDCT>GTHEN | EJ 68 PRINTLEFTS (DWS$,K) SPC (38- 
sides. So if you steal a marker, concen- a PRIND AUPE) "RETURN L) VB$: NEXT: NEXT: QQ=FRE (0 
: : IFAS=CHR$ (20) ANDCT>@THEN ) 
cane a US ce the ees CT=CT-1:INS=LEFT$(INS$,CT | PG 61 PRINTLEFTS (DWS,23)" 
will be less likely to change it back. ) :PRINT" {LEFT} "CHRS (26) ; {RIGHT }";:FORK=1T04:AS=S 
:GOTO25 TRS$(SC(K)) 

MINDBOGGLE 29 IF(AS<"A"ANDAS<>" ")ORAS | GF 62 Z=7:GOSUB204:BS="_ "+CS+" 
AP @ REM COPYRIGHT 1992 - COMP >"Z"THEN26 ";PRINTCLS (K) BS; :IFK<4T 
UTE PUBLICATIONS INTL LTD 3@ CT=CT+1:IFCT>8THENCT=8:G HENPRINT"{2 SPACES}"; 

- ALL RIGHTS RESERVED 0TO026 XJ 63 NEXT 
KF 1 IPA=@THENPOKE53265,11:A=1 31 PRINT" {WHT}{LEFT}"A$;:IN | SQ 64 PRINTLEFTS (DW$,25)TAB(16 
:LOAD"BOGGLE.ML", 8,1 $=INS$+A$:GOTO25 )"{CYN}PAIRS REMAINING: 
KM 2 POKE56578,63:POKE56576,19 32 GOSUB205:SK=6 {SPACE} {WHT} "; 
6:POKE53272,18:POKE648,19 33 PRINTLEFTS (DWS$,22)TAB(5) | XG 65 AS$=STRS (LM) :Z=3:GOSUB264 
6:GOSUB96: POKE788,52 "{WHT}ENTER SKILL LEVEL: :PRINTCS"{HOME}"; :HI=-1: 
RA 3 PRINT" {CLR} "CHR$ (14) CHRS ( {CYN}";SKS$ (SK) MX=OX:MY=CY 
8) :POKE5328G,0:POKE53281 34 GOSUB82:S=SK~(JR=8ANDSK< | QB 66 IFLM<1THEN143 
$:GOSUB112 ‘ 7) +(JL=4ANDSK>@) :IFFB=@T | HR 67 CP=CP+1:I1FCP>4THENCP=1 
PF 4 IFHS>PHTHENFH=HS HENSK=S:GOTO37 HS 68 GOSUB86:LP=CP 
JD 5 PRINT" {HOME} {DOWN} "TAB (11 35 IFS=SKTHEN34 QP 69 GOSUB87:IFPL$ (CP) =CPSTHE 
)"{CYNJHIGH SCORE: {WHT}" 36 SK=S:GOT033 N164 
: :AS=STRS (FH) :Z=7:GOSUB20 37 GOSUB205:PRINTLEFT$(DWS, | AR 76 GOSUB82 
4:PRINTCS 22) TAB (14) "{CYN} PLEASE MJ 71 DX=OX~(JR=8ANDOX<18)+(JL 
Go 6 PRINTTAB(14)"{3 DOWN} {2 SPACES}WAIT" =4ANDOX>@) :CX=DX 
{BLU} STUVWXYZ4{-}-]": PRIN 38 IFPL<4THENFORK=PL+1T04:P | XA 72 DY=CY-(JD=2ANDCY<8) + (JU= 
TTAB (14) "4*}{SHIET~SPACE} L$ (K) =CP$:NEXT 1ANDCY>@) 
{KPLIDLTHLOPLGHL+P {MI LED 39 SC(1)=:SC(2)=0:SC(3)=8: | GG 73 GX=GX~(GXAND1) :IFDX>14TH 
{2}{s}" Sc (4)=8 ENCX=CX~16 : GX=GXOR1 
40 FORK=6T018:FORL=GT08:DI( | RE 74 OX=DX:CY=DY: IFFB=GTHENGO 
7 NTTAB(12)"{3 DOWN 
EO Peele @ ae K,L) =@:BL$(K,L) ="":NEXT: SUB87:GOTO76 
INDTAB (12) {DOWN} {YEE }COM 41 LM=15+10*SK:FORK= BA 76 AS=BLS (OX,C¥) : FDI (OX,C¥ 
PUTE MAGAZINE" LM=15+16*SK:FORK=1TOLM BA AS=BLS$ (OX,CY): (OX, 
HD 8 PRINTTAB(8)"{3 DOWN) {RED} 42 A=FNRN(18) :B=FNRN (8) :IFB ) >GANDAS<>FBSTHEN69 
WRITTEN BY{2 SPACES}JOHN L$ (A,B) <>""THEN42 PR 77 BS="{WHT}":IFAS=FISTHENB 
{SPACE}CAMERON{4 DOWN}":P ASMBLSIATE be SENN) 2) $=CL$ (CP) 
OKE53265, 27 i PCS (FNRN(3),1)+RS$+PCS(FN | PD 78 ZL=~(A$=FI$) -2* (A$=TH$) ~ 
FD 9 IFFH=GTHEN16 RN (3) ,2) +PCS (FNRN (3) ,3) 3* (AS=HPS) -4* (AS=SS$) -5* 
HF 19 GOSUB205:A$(@)="YES":AS( ad ARSED CAE) (ASSEBS) 
1)="NO ":¥N=6 45 C=FNRN(18):D=FNRN(8):IFB | AH 79 ONSPGOTO116,119 
XX 11 PRINTLEFTS (DW$, 22) TAB (8) L$(C,D) <>""THEN45S SE 8@ HI=-1:SP=2:GX=GXOR-2* (PX 
" >14) :GOTO69 
aac me PEDEE. PQ 81 SP=1:GX=GX-(GXAND2) : POKE 
a RG Ripa MT (A,B,1)=D V+21,GX:GOTO61 
ea See ee Sa MDeuse) STEEBCOr 47 MT (A,B,2)=@:MT(C,D,2)=@: | RX 82 J¥=15-(PEEK(J)AND15) : JU= 
HENYN=A:GOTO15 7 NEXT JYAND1:JD=JYAND2: JL=JYAN 
SR 13 IFA=YNTHEN12 48 FORK=@T018:FORL=8T08 D4: JR=JYAND8 
PP 14 YN=A:GOTO11 49 IFBLS(K,L)=""THENGOSUB51 | CE 83 FB=PEEK(J)AND16 


G-38 COMPUTE OCTOBER 1992 


MG 


MF 
FA 


pce 
AR 
HA 
SF 
JR 
EB 
HD 
EM 
GP 


MM 


KS 
HH 
DH 


RC 


DH 


RB 


SG 


MQ 
QP 


XH 


HH 


CH 


SR 


Xs 


84 


85 
86 


87 
88 
89 
96 
91 
92 
93 
94 
95 


96 


97 
98 
99 


166 


101 


102 
163 


164 


165 


1066 


167 


168 


169 


116 


IFJU=GANDJD=GANDJR=GANDJ 
L=GANDFB=16THENA=- (J=563 
20) + (J=56321) :J=J+A:GOTO 
82 

RETURN 

FORK=0T07: POKE56097+ (LP- 
1) *16+K,11:POKE56097+(CP 
~1)*10+K,1:NEXT: RETURN 
Z=~(SP=2) : POKEV+48,CL(5) 
+ POKEV+39,CL (CP) 

POKEV, 28+16*CX: POKEV+16, 
GX: POKEV+1,56+16*CY 
IFZ=1ANDOX=PXANDCY=PYTHE 
NPOKEV+2, PEEK (V) : POKEV+3 
, PEEK (V+1) 
POKEV+21,1+2*Z:RETURN 
DI(Q1,Q2)=5:MT(Q1,Q2,2)= 
MT (Q1,Q2,2)+.1 
PRINTLEFTS (DW$,Q2*2+2) SP 
C(Q1*2+1) BSAS: BLS (Q1,Q2) 
=A$:GOSUB202: RETURN 
PRINTLEFTS (DW$,Q2*2+2) SP 
C(Q1*2+1) VB$:DI (Q1,Q2) =0 
:NS=5:GOSUB206 

RV=RV-1: RETURN 
AS=FBS:BS=CL$ (CP) :DI (Ql, 
Q2) =CP:LM=LM~.5:GOT092 
DIMBL$ (18,8) ,DI (18,8) ,PC 
$(3,3) ,MT(18,8,2) :SO=542 
72 


DEF FNRN(X)=INT ( (PEEK (SO 
+27) /256) * (X+1)) 
DEF FNP(X)=(PEEK(SO+27)/ 
256) <x 
RS="{DOWN}{2 LEFT}":FIS= 
"() "+4RS+"*4"SHDS="{YEL}; 
<"+RS+" {RED},-" 
+RS+"./ =6 
FBS="€2"+RS+"*Q": VBS=" 
{BLU} [{7}£{BLU}"+RS+")} 
[eines Tere rue nn es? 
:CPS="COMPUTER" 
B2$="":FORK=1T03 
1$+CHRS$ (34) :B2S= 
B2S+"R":NEXT 
DWS="{HOME}{24 DOWN} ":g 
=56320 
FORK=8T03:FORL=@T03: PCS 
(K,L) =CHRS$ (97+4*K+L) :NE 
XTL,K 
FORK=0T02: POKE49152+K, 2 
55:POKE49155+K, 255: NEXT 
FORK=49158T049203STEP3: 
POKEK, 224: POKEK+1, 6: POK 
EK+2,7:NEXT 
FORK=0T02: POKE49206+K,2 
55:POKE49209+K, 255: POKE 
49212+K,0:NEXT 
CL$ (1) ="{GRN}":CL$(2)=" 
CL$ (3)="{RED}":C 
{YEL}" 
L(2)=3:CL(3)=2 
:CL(4)=7:CL(5)=12 
DATA"SIMPLE{5 SPACES}", 
"VERY EASY{2 SPACES}"," 
RATHER EASY","ALMOST EA 
SY","ALMOST HARD" 
DATA"RATHER HARD", "VERY 


FG 


XP 


cs 


XD 


111 


112 


113 


114 


115 
116 
117 
118 
119 
126 
121 
122 
123 
124 


125 
126 


127 
128 
129 
138 
131 
132 
133 
134 
135 
136 
137 
138 
139 
146 
141 
142 


143 


144 


145 


HARD{2 SPACES}","DIFFI 
CULT{2 SPACES}" 
FORK=9T07: READSKS (K) :NE 
XT: RETURN 
V=53248: POKEV+21,0:POKE 
V+16,@0:POKEV+2,28:POKEV 
+3,56 
POKE51192,@:POKE51193,6 
3CX=@6:CY= X=8:CP=6:LP 
=2:SP=1:0xX=@ 
FORK=SOTOSO+24: POKEK,@: 
NEXT: RV=@: POKESO+15, 255 
: POKESO+18,128 
RETURN 
PX=OX: PY=CY:LZ=ZL: IFZL< 
STHENQ1=0X:Q2=CY:GOSUB9 
1 


ONZL+1G0T086,86,80,118, 
81,69 

SC (CP) =SC (CP) +250: GOTO8 
Mf 


IFZL<5THENQ1=0X:Q2=CY:G 
OSUB91 
ONZL+1G0T0121,136,133,1 
35,136,138 
ONLZ+1G0T0122,127,125 
IFAS<>BL$ (PX, PY) THEN125 
SC (CP) =SC (CP) +168:Q1=0x 
:Q2=CY:GOSUB95 
Ql=PX:Q2=PY:GOSUB95:GOT 
081 

FORK=1T02500:NEXT 
Q1=0X:Q2=CY:GOSUB93:Q1= 
PX:Q2=PY:GOSUB93:GOTO81 
FORK=6T018:FORL=6T08:CS$ 
=AS 
IFA$=BL$ (K,L) THENQL=K:Q 
2=L:GOSUB95:SC (CP) =SC(C 
P)+5@:AS=CS$ 
NEXTL,K:GOTO81 
ONLZ+1G0T0132,80 

GoTo81 
AS=BLS (PX, PY) :GOTO127 
IFL2=OTHEN125 

GOTO81 
ONLZ+1G0T0125,118:GOTO8 
i 

IFLZ=@THEN125 

GOTO81 

IFLZ<>2THEN8G 

A=PEEK (55337+0X*2+ (CY*2 
)*46) AND15:IFA=CL (CP) TH 
EN8@ 
LM=LM+.5:Q1=0X:Q2=CY:GO 
SUB95:SC (CP) =SC (CP) +59 
FORK=1T04: IFA=CL (K) THEN 
B=K:K=5 

NEXT: SC (B)=SC(B) ~50:GOT 
o8l 

POKEV+21,@: PRINT" {CLR} 
{2 DOWN} {WHT}{3 RIGHT}F 
INAL RESULTS: ":PRINT" 
$2} {RIGHT}"B2$ 
PRINT"{4}{2 RIGHT }NAME" 
1,"SCORE","{2 LEFT}BLOC 
KS WON{DOWN}" 
A(1)=G2A(2)=62A(3)=0:A( 
4)=6 


Jc 


BM 
KQ 


HF 


AF 


FK 


KR 


HK 


146 


147 
148 


149 


156 


151 


152 


153 


154 
155 
156 
157 
158 
159 
166 
161 
162 
163 
164 
165 
166 
167 


168 


169 
176 


171 


172 
173 
174 
175 
176 
177 
178 


FORL=6T08:FORK=0T018:A= 
DI (K,L) : IFA>@ANDA<STHEN 
A(A)=A(A) +1 
NEXT: NEXT 
FORK=1T04: PRINT" {DOWN} 
{2 RIGHT} {BLU}"PL$(K) ,C 
L$ (K) 7 :AS=STRS (SC(K) ) 
2=7:GOSUB204:PRINTCS,:A 
$=STR$(A(K) ) :2=4:GOSUB2 
64:PRINTCS:NEXT 
PRINT"{3 DOWN} {2} 

{2 RIGHT}! "LEFTS(B1$,34 
) "#"2FORK=1T03: PRINT" 
{2 RIGHT}$"SPC(34)"8":N 
EXT 
PRINT"{2 RIGHT}&"LEFTS ( 
B1$,34)""" 
HS=SC (1) :W=1:FORK=2T04: 
IFSC (K) >HSTHENHS=SC(K) : 
W=K 
NEXT: PRINTLEFTS$ (DWS, 20) 
TAB(5)"{CYN}THE WINNER: 

We 

; 

FORK=1T04: IFW=KTHENNEXT 
:GOTO157 
IFSC (K) =HSTHENA=-K* (A(K 
) >A (W) ) -W* (A(W) >A(K)) ~5 
*(A(K)=A(W)) :WSA 
NEXT 

IFW=5THENPRINT" {RED}HIG 
H SCORE IS TIED":GOTO15 
9 
PRINT" {BLU}PLAYER"W" 
{WHT} "PLS (W) 
PRINTLEFTS (DWS, 24) TAB(8 
)"{YEL)PRESS FIRE TO PL 
AY AGAIN" 
GOSUB82:IFFB=6THEN3 
GOTO16G 
MX=FNRN (18) :MY=FNRN(8) + 
GOTO176 
NX=FNRN (18) :NY=FNRN (8): 
GOTO175 
ONSPGOTO165,174 
IFHI>~1THEN197 
IFMT (MX,MY,@) =-1ANDBLS ( 
MX, MY) <>SSSTHEN195 
MX=@ :MY=@:FORL=GT08:FOR 
K=6T018:A=FNRN (4) 
IFMT (K,L,2) >HIANDDI (K,L 
) =G@AND (A=GORRV>166) THEN 
MX=K:MY=L 
NEXT: NEXT 
A=FNRN (1) :NX=MT (MX,MY,@ 
) :NY=MT (MX,MY,1) :HI=MT ( 
MX,MY,2) 
IEMT (MX,MY,@) >~1THENIEN 
OTENP (MT (NX,NY,2)+SK*.@ 
62+RV*.GG1) ANDA=6THEN16 
2 


IFDI (MX,MY) >@THEN162 
GOTO197 

IFHI>-1THEN197 
ONLZ+1G0TO176,180,183 
IFNX=-1THEN163 
IFFNRN (9) =GTHEN193 

IFMT (NX,NY,@) >~1THENIFN 
OTENP (MT (NX,NY,2)+SK*.@ 


OCTOBER 1992 COMPUTE G-39 


PROGRAMS 


CE 179 
PE 186 
GF 181 
CD 182 
XF 183 
EC 184 


KH 185 


PX 186 


BX 187 
cp 188 


QG 189 
Ps 196 


KE 191 
RD 192 
PQ 193 
JK 194 
GH 195 
Gc 196 
BS 197 
EA 198 
CE 199 
MH 260 
PG 261 
KQ 262 


XJ 293 
MG 204 


PX 265 


G2+RV*. G01) ANDRV<176THE 
N163 

GOTO193 

IFNX=-1THEN163 
A=FNRN (2) : IFA=OTHEN163 
GOTO193 

IFNX=-~1THEN163 

A=- (ENRN (2) =) : IFLM=(15 
+10*SK) THENONA+1GOTO163 
7193 
NX=~1:FORK=0TO18 : FORL=8 
TO8:A=PEEK (55337+K*2+(L 
*2)*46)AND15 

IFBLS (K,L) =FBSTHENGOSUB 
196: IFFL=@THENK=19:L=9 
NEXT: NEXT 
IFNX=—1THENNX=FNRN (18) : 
NY=FNRN (8) 

GOTO194 

NX=K:NY=L:FL=6: 1FA=CL(C 
P) THENFL=1:NX=-1: RETURN 
B=FNRN (1): IFB>OTHENFL=1 
RETURN 

IFDI (NX,NY) >@THEN163 
HI=5:MX=NX:MY=NY:GOTO19 
a 
IFLM=(15+16*SK) ANDBLS (M 
X,MY) =THSTHEN162 
GOTO178 

JU=~ (MY<CY) :JD=~2* (MY>C 
Y) :JR=-8* (MX>OX) :JL=-4* 
(MX<OX) 

FB=16: IFOX=MXANDCY=MYTH 
ENFB=0 

GoTo71 
POKESO+24,15:POKESO+5,9 
: POKESO+6, 0: POKESO,NS:P 
OKESO+1,NS 

POKESO+4, 33:FORSD=1T016 
@:NEXT: POKESO+4 , 32: RETU 
RN 

NS=175+75* (AS=FI$) +25* ( 
AS=HPS) +150* (AS=SSS$) +16 
@* (AS=THS) -25* (AS=FB$) 
GOSUB209:RV=RV+1: RETURN 
BS=LEFTS ("6G00606",2Z):C 
S=LEFTS (B$,Z-LEN(A$))+R 
IGHT$ (A$,LEN (A$) -1) :RET 
URN 
POKE781,21:SYS59903:RET 
URN 


BOGGLE.ML 


C86G:7E 
C868:3E 
C810:7E 
C818:3E 
C826:7E 
C828:7F 
C830:7F 
C838:3E 
C846:77 
C848:7F 
C856:67 
C858:77 
C866:78 
C868:63 
C870:7E 


C3 9D Bl Bl 9D C3 7E 9A 
77:77 7F 77 77 77 86 86 
77:77 7B 77 77 TE 66 2C 
77 77 76 77 77 3E @8 B2 
77 77 77:77:77 ‘TE 86 CB 
77 76 7C 76 77 7F @G 8D 
77 76 7C 76 76 76 8G 5B 
77 76 77 77:77 *3E 88 64 
77:77 «*7E 77:77 «+77 «86 DA 
1c 1c 1c 1c 1C 7F 86 36 
G7 @7 G7 77 77 3E GO 8E 
77:77 ‘7JE 77 77 77 G6 E2 
76 76 76 76 77 7F 86 BB 
77 7E 7E 77 77:77 66 FO 
Teiielietin tie 17) 86 10% 


G-40 COMPUTE OCTOBER 1992 


33E 
C8AG:7F 
C8A8:77 
C8B6:77 
C8B8:77 
C8CO:77 
C8C8:77 
C8DG:7F 
C8D8: 66 
C8EG: 90 
C8E8:76 
C8FG:6E 
C8F8:80 
C9GG:88 
C968:68 
C916: 68 
C918:66 
C920:BA 
C928:5D 
C930:BA 
C938:5D 
C94G:FF 
C948:FF 
C950:9F 
C958:ED 
C96G:0F 
C968:FG 
C976:CC 
C978:73 
C986:3E 
c988:1C 
C996:3E 
C998:3E 
C9AG:77 
C9A8:7F 
C9BG:3E 
C9B8:3F 
C9CO:3E 
C9C8:3E 
C9D6:66 
C9D8: 98 
C9EG: 8B 
C9E8:FF 
COFG:FF 
C9F8: G6 
CAGG:7F 
CAG8: 68 
CA16: 86 
CA18:6F 
CA26:F6 
CA28:68 
CA36:68 
CA38:66 
CA46: 66 
CA48:68 
CA56:98 
CA58:66 
CA6G: G6 
CA68:08 
CA7@:68 
CA78:66 
CA8@:96 
CA88:FE 
CA9G:G5 
CA98:86 
CAAG:2E 


CAA8:81 Cl El Fl F9 FD EF E7 5A 
CABG:DF DF DF DC DC DC DC DC E8 
CAB8:E7 F7 F7 77 77 77 77 77 B6 
CAC@:F8 FD FD 1D 1D 1D 1D F9 75 
CAC8:FE FF FF C7 C7 C7 C7 C7 OF 
CADG:3F 7F 7F 71 76 78 76 77 8A 
CAD8:8F DF DF DC 1C 1C 1C DD 5F 
CAEG:E7 F7 F7 77 @7 G7 87 F7 39 
CAE8:61 G1 G1 G1 @1 G1 G1 O1 TE 
CAFG:FF FF FF C®@ C@ CO CO F8 16 
CAF8:E@ E@ EG EG EG EG EG EO BE 
CB@@:EE EE EE EE EE EE EE EE 97 
CB@8:E3 El El El El El El El AG 
CB1@:DC DC DC DC DC DF DF DF BC 
CB18:77 77 77 77 77 E7 F7 E7 23 
CB26:F9 1D 1D 1D 1D FD FD F8 47 
CB28:C7 C7 C7 C7 C7 FF FF FE 48 
CB36:77 71 71 71 71 7F 7F 3F EC 
CB38:DD DC DC DC DC DF DF 8F 15 
CB4G:F7 77 77 77 77 F7 F7 E7 8B 
CB48:00 7F 60 48 43 46 46 51 C8 
CB50:00 FE 06 82 E2 62 62 8A FE 
CB58:4E 4F 64 77 7B 7C 7F @0 BB 
CB60:72 F2 26 EE DE 3E FE 00 8F 
CB68:61 G1 @1 G1 @1 FD FD FD EA 
CB70:F8 C@ C@ CO CO FF FF FF DE 


John Cameron lives in Newcastle, New 
Brunswick, Canada. o 


-—— 


TYPING AIDS 


MLX, our machine language entry 
program for the 64 and 128, and 
The Automatic Proofreader are util- 
ities that help you type in Gazette 
programs without making mistakes. 
To make room for more programs, 
we no longer include these labor- 
saving utilities in every issue, but 
they can be found on each Gazette 
Disk and are printed in all issues of 
Gazette through June 1990. 

lf you don't have access to a 
back issue or to one of our disks, 
write to us, and we'll send you free 
printed copies of both of these 
handy programs for you to type in. 
We'll also include instructions on 
how to type in Gazette programs. 
Please enclose a self-addressed, 
stamped envelope. Send a self-ad- 
dressed disk mailer with appropri- 
ate postage to receive these pro- 
grams on disk. 

Write to Typing Aids, COM- 
PUTE's Gazette, 324 West Wen- 
dover Avenue, Suite 200, Greens- 
boro, North Carolina 27408.